Function at 0x4304a9
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x114
mov eax, dword [0x45a028]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x114], eax
mov eax, dword [eax]
mov dword [ebp - 0x74], eax
shr eax, 9
and eax, 1
mov dword [ebp - 0x54], ecx
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0xfc], eax
xor eax, 1
mov dword [ebp - 0x100], ecx
mov ecx, dword [ebp + 0x1c]
mov dword [ebp - 0x10c], edx
mov edx, dword [ebp + 0x18]
mov dword [ebp - 0xf8], eax
mov eax, 0xfffffffe
mov esi, dword [ebp + 0xc]
mov ebx, dword [esi]
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp + 0x2c]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp + 0x20]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x74]
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x104], esi
mov dword [ebp - 0x7c], ecx
xor ecx, ecx
xor esi, esi
mov dword [ebp - 0xf4], edx
mov edx, dword [ebp + 0x28]
and eax, 1
mov dword [ebp - 0xf0], edi
mov edi, dword [edi]
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xe8], ebx
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xd4], ecx
mov dword [ebp - 0x58], esi
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0x7c], ecx
mov ecx, dword [edx + 0x34]
mov dword [ebp - 0x48], edi
movzx eax, word [edi]
mov dword [ebp - 0x5c], eax
je 0x4300b4
mov edx, dword [edx + 0x10]
lea eax, [edx + ecx*2 - 0xc8]
cmp ebx, eax
ja 0x432eec
mov eax, dword [ebp - 0xd8]
cmp ebx, eax
jae 0x430032
mov dword [ebp - 0x4c], eax
mov ebx, eax
mov ecx, dword [ebp - 0x7c]
mov ecx, dword [ecx]
mov eax, ebx
sub eax, dword [ebp - 0xd8]
mov edx, 0x7fffffeb
sar eax, 1
sub edx, ecx
cmp edx, eax
jl 0x432efa
add ecx, eax
mov eax, dword [ebp - 0x7c]
mov dword [eax], ecx
test esi, esi
je 0x43009e
cmp esi, dword [ebp - 0xe8]
jbe 0x4300a9
mov edi, dword [ebp - 0xe8]
mov ecx, ebx
sub ecx, esi
and ecx, 0xfffffffe
push ecx
push esi
push edi
call dword [sym.imp.MSVCR100.dll_memmove]
sub esi, edi
sar esi, 1
add esp, 0xc
neg esi
lea edx, [ebx + esi*2]
mov dword [ebp - 0x58], edi
mov edi, dword [ebp - 0x48]
mov esi, dword [ebp - 0x58]
mov ebx, edx
mov dword [ebp - 0x4c], edx
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0xd8], ebx
jmp 0x4300c7
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x4c], eax
mov ebx, eax
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0xd8], ebx
jmp 0x4300c7
mov eax, dword [edx + 0x10]
lea ecx, [eax + ecx*2 - 0xc8]
cmp dword [edx + 0x24], ecx
ja 0x432f08
mov eax, dword [ebp - 0x5c]
xor ecx, ecx
cmp dword [ebp - 0xac], ecx
je 0x4301e2
cmp eax, ecx
je 0x4301e2
cmp eax, 0x5c
jne 0x430100
cmp word [edi + 2], 0x45
jne 0x430100
mov edx, dword [ebp - 0x50]
add edi, 2
mov dword [ebp - 0xac], ecx
add edi, 2
jmp 0x42fffc
mov eax, dword [ebp - 0xbc]
cmp eax, ecx
je 0x430125
cmp dword [ebp - 0x7c], ecx
jne 0x43011f
sub edi, dword [edx + 0x18]
sar edi, 1
sub di, word [eax + 4]
mov word [eax + 6], di
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0xbc], ecx
test dword [ebp - 0x74], 0x4000
je case.0x43033f.1
mov dword [ebx], 0xff0070
sub edi, dword [edx + 0x18]
xor edx, edx
sar edi, 1
mov dword [ebp - 0xbc], ebx
mov word [ebx + 4], di
mov word [ebx + 6], dx
add ebx, 8
mov dword [ebp - 0x4c], ebx
mov si, word [ebp - 0x5c]
mov ecx, dword [ebp - 0x50]
test byte [ebp - 0x74], 1
mov eax, dword [ebp - 0x4c]
mov edx, 0
setne dl
mov dword [ebp - 0x58], eax
add eax, 4
mov dword [ebp - 0x4c], eax
add edx, 0x1d
mov word [eax - 4], dx
mov word [eax - 2], si
cmp si, 0xd
je 0x430185
cmp si, 0xa
jne 0x43018c
or dword [ecx + 0x54], 0x800
mov edx, dword [ebp - 0x78]
mov edi, dword [ebp - 0x48]
mov ebx, dword [ebp - 0x4c]
cmp edx, 0xfffffffe
jne 0x432e86
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x8c]
movzx edx, si
mov esi, dword [ebp - 0x58]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xa4], edx
mov edx, dword [ebp - 0x50]
add edi, 2
mov dword [ebp - 0xb0], 0xffffffff
mov dword [ebp - 0x78], eax
xor ecx, ecx
jmp 0x42fffc
cmp eax, 0x2a
je 0x430346
cmp eax, 0x2b
je 0x430346
cmp eax, 0x3f
je 0x430346
cmp eax, 0x7b
jne 0x430212
lea eax, [edi + 2]
call fcn.0042d640
test eax, eax
jne 0x430346
cmp dword [ebp - 0xbc], 0
mov dword [ebp - 0x68], 0
je 0x43025b
mov eax, dword [ebp - 0xe0]
mov ecx, eax
dec eax
mov dword [ebp - 0xe0], eax
test ecx, ecx
jg 0x43025b
cmp dword [ebp - 0x7c], 0
jne 0x430251
sub edi, dword [edx + 0x18]
mov eax, dword [ebp - 0xbc]
sar edi, 1
sub di, word [eax + 4]
mov word [eax + 6], di
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0xbc], 0
xor ecx, ecx
test byte [ebp - 0x74], 8
je 0x4302ef
mov eax, 0xff
cmp word [edi], ax
ja 0x430281
mov ecx, dword [edx + 0xc]
mov eax, dword [ebp - 0x5c]
test byte [eax + ecx], 1
jne 0x430cb7
cmp dword [ebp - 0x5c], 0x23
jne 0x4302ed
add edi, 2
mov dword [ebp - 0x48], edi
movzx eax, word [edi]
test ax, ax
je 0x4302e3
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x68]
test ecx, ecx
je 0x430352
mov eax, dword [eax + 0x1c]
cmp edi, eax
jae 0x43038d
mov esi, dword [ebp - 0x50]
push ecx
add esi, 0x6c
mov edx, eax
mov ecx, edi
call fcn.0043a4a0
mov esi, dword [ebp - 0x58]
add esp, 4
test eax, eax
je 0x43038d
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x6c]
lea edi, [edi + eax*2 - 2]
mov dword [ebp - 0x48], edi
cmp word [edi], 0
jne 0x430cb7
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x5c], 0
xor ecx, ecx
test dword [ebp - 0x74], 0x4000
je 0x43032c
cmp dword [ebp - 0x68], ecx
jne 0x43032c
mov eax, 0x70
mov word [ebx], ax
mov eax, 0xff
mov word [ebx + 2], ax
sub edi, dword [edx + 0x18]
xor eax, eax
sar edi, 1
mov word [ebx + 4], di
mov word [ebx + 6], ax
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0xbc], ebx
add ebx, 8
mov dword [ebp - 0x4c], ebx
mov eax, dword [ebp - 0x5c]
cmp eax, 0x7c
ja case.0x43033f.1
movzx eax, byte [eax + 0x433210]
jmp dword [eax*4 + 0x4331dc]
mov dword [ebp - 0x68], 1
jmp 0x43025b
mov ecx, dword [eax + 0x6c]
mov edx, dword [eax + 0x1c]
mov dword [ebp - 0xa0], ecx
add ecx, ecx
sub edx, ecx
cmp edi, edx
ja 0x43038d
movzx ecx, word [edi]
cmp cx, word [eax + 0x70]
jne 0x43038d
cmp dword [ebp - 0xa0], 1
je 0x4302cc
mov ax, word [edi + 2]
mov ecx, dword [ebp - 0x50]
cmp ax, word [ecx + 0x72]
je 0x4302cc
add edi, 2
mov dword [ebp - 0x48], edi
movzx eax, word [edi]
test ax, ax
jne 0x430295
jmp 0x4302e3
test byte [ebp - 0x74], 2
mov dword [ebp - 0x58], ecx
je 0x4303db
cmp dword [ebp - 0x78], 0xfffffffe
jne 0x4303ba
mov dword [ebp - 0x78], 0xffffffff
mov esi, dword [ebp - 0x58]
mov edx, dword [ebp - 0x50]
mov ecx, 0x1a
mov word [ebx], cx
mov edi, dword [ebp - 0x48]
add ebx, 2
add edi, 2
mov dword [ebp - 0x4c], ebx
xor ecx, ecx
jmp 0x42fffc
mov esi, dword [ebp - 0x58]
mov edx, 0x19
mov word [ebx], dx
mov edi, dword [ebp - 0x48]
mov edx, dword [ebp - 0x50]
add ebx, 2
add edi, 2
mov dword [ebp - 0x4c], ebx
xor ecx, ecx
jmp 0x42fffc
test byte [ebp - 0x74], 2
mov edx, dword [ebp - 0x50]
mov eax, 0
setne al
mov dword [ebp - 0x58], ecx
mov esi, ecx
add eax, 0x1b
mov word [ebx], ax
mov edi, dword [ebp - 0x48]
add ebx, 2
add edi, 2
mov dword [ebp - 0x4c], ebx
xor ecx, ecx
jmp 0x42fffc
cmp dword [ebp - 0x78], 0xfffffffe
jne 0x430436
mov dword [ebp - 0x78], 0xffffffff
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xb0], edx
mov edx, dword [ebp - 0x74]
shr edx, 2
and edx, 1
or edx, 0xc
mov word [ebx], dx
mov edi, dword [ebp - 0x48]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0xb8], ecx
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x58], ebx
mov esi, dword [ebp - 0x58]
add ebx, 2
mov dword [ebp - 0xa8], ecx
add edi, 2
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x4c], ebx
xor ecx, ecx
jmp 0x42fffc
test dword [edx + 0x50], 0x2000000
je case.0x43033f.1
mov ecx, dword [ebp - 0x54]
mov dword [ecx], 0x40
jmp 0x4331be
movzx eax, word [edi + 2]
mov dword [ebp - 0x58], ebx
cmp eax, 0x3a
je 0x4304bf
cmp eax, 0x2e
je 0x4304bf
cmp eax, 0x3d
jne 0x4304da
lea eax, [ebp - 0xc4]
push eax
push edi
call fcn.0042f1d0
mov edi, dword [ebp - 0x48]
add esp, 8
test eax, eax
jne 0x432f92
mov dword [ebp - 0x6c], ecx
mov eax, dword [ebp - 0x6c]
add edi, 2
mov dword [ebp - 0x48], edi
movzx esi, word [edi]
mov dword [ebp - 0x5c], esi
cmp esi, 0x5c
jne 0x430546
cmp word [edi + 2], 0x45
lea ecx, [edi + 2]
jne 0x4304ff
mov edi, ecx
jmp 0x4304e0
mov eax, 3
mov esi, 0x4508ec
lea esp, [esp]
movzx edx, byte [esi]
dec eax
mov dword [ebp - 0xa0], eax
movzx eax, word [ecx]
add ecx, 2
inc esi
cmp dx, ax
jne 0x430535
mov eax, dword [ebp - 0xa0]
test eax, eax
jne 0x430510
add edi, 6
jmp 0x4304dd
sbb eax, eax
neg eax
lea eax, [eax + eax - 1]
test eax, eax
jne 0x4305b6
add edi, 6
jmp 0x4304dd
test eax, eax
jne 0x430559
cmp esi, 0x5e
jne 0x430559
mov eax, 1
mov dword [ebp - 0x6c], eax
jmp 0x4304e0
cmp esi, 0x5d
jne 0x4305b9
mov ecx, dword [ebp - 0x50]
test dword [ecx + 0x50], 0x2000000
je 0x4305b9
neg eax
sbb eax, eax
and eax, 0xffffff76
add eax, 0x97
mov word [ebx], ax
add ebx, 2
cmp dword [ebp - 0x78], 0xfffffffe
mov dword [ebp - 0x4c], ebx
jne 0x43058e
mov dword [ebp - 0x78], 0xffffffff
mov edx, dword [ebp - 0xa4]
mov edi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x78]
mov esi, dword [ebp - 0x58]
mov dword [ebp - 0xb8], edx
mov edx, dword [ebp - 0x50]
add edi, 2
mov dword [ebp - 0xb0], eax
xor ecx, ecx
jmp 0x42fffc
mov esi, dword [ebp - 0x5c]
xor eax, eax
lea ecx, [ebx + 6]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x68], ecx
cmp esi, eax
je 0x432ff1
mov ecx, dword [ebp - 0x7c]
test ecx, ecx
je 0x430617
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x68]
cmp edx, eax
jbe 0x430617
sub edx, eax
sar edx, 1
add dword [ecx], edx
mov dword [ebp - 0xa8], 1
mov dword [ebp - 0x60], eax
xor ecx, ecx
cmp dword [ebp - 0xac], ecx
je 0x430643
cmp esi, 0x5c
jne 0x4309b7
cmp word [edi + 2], 0x45
jne 0x4309b7
mov dword [ebp - 0xac], ecx
add edi, 2
jmp 0x430b55
cmp esi, 0x5b
jne 0x43078f
movzx eax, word [edi + 2]
cmp eax, 0x3a
je 0x430663
cmp eax, 0x2e
je 0x430663
cmp eax, 0x3d
jne 0x4309b7
lea edx, [ebp - 0xc4]
push edx
push edi
call fcn.0042f1d0
mov edi, dword [ebp - 0x48]
add esp, 8
test eax, eax
je 0x4309b7
cmp word [edi + 2], 0x3a
mov dword [ebp - 0x94], ecx
jne 0x432fad
add edi, 4
mov dword [ebp - 0x48], edi
cmp word [edi], 0x5e
jne 0x4306af
mov eax, 1
add edi, 2
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x48], edi
mov eax, dword [ebp - 0xc4]
sub eax, edi
sar eax, 1
push eax
push edi
call fcn.0042f260
add esp, 8
test eax, eax
js 0x432fbb
test byte [ebp - 0x74], 1
je 0x4306d8
cmp eax, 2
jg 0x4306d8
xor eax, eax
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 8]
lea eax, [eax + eax*2]
mov esi, dword [eax*4 + 0x44dab0]
add esi, edx
mov ecx, 8
lea edi, [ebp - 0x44]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax*4 + 0x44dab4]
mov edi, dword [eax*4 + 0x44dab8]
test ecx, ecx
js 0x43072f
xor eax, eax
lea esi, [ecx + edx]
test edi, edi
js 0x430720
nop
mov dl, byte [esi + eax]
or byte [ebp + eax - 0x44], dl
inc eax
cmp eax, 0x20
jb 0x430710
jmp 0x43072f
mov cl, byte [esi + eax]
not cl
and byte [ebp + eax - 0x44], cl
inc eax
cmp eax, 0x20
jb 0x430720
test edi, edi
jns 0x430735
neg edi
cmp edi, 1
jne 0x430740
and byte [ebp - 0x43], 0xc3
jmp 0x430749
cmp edi, 2
jne 0x430749
and byte [ebp - 0x39], 0x7f
xor eax, eax
cmp dword [ebp - 0x94], eax
je 0x430765
mov dl, byte [ebp + eax - 0x44]
not dl
or byte [ebp + eax - 0x24], dl
inc eax
cmp eax, 0x20
jb 0x430753
jmp 0x430773
mov cl, byte [ebp + eax - 0x44]
or byte [ebp + eax - 0x24], cl
inc eax
cmp eax, 0x20
jb 0x430765
mov edi, dword [ebp - 0xc4]
add edi, 2
mov dword [ebp - 0x5c], 1
mov dword [ebp - 0x64], 2
jmp 0x430b55
cmp esi, 0x5c
jne 0x4309b7
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x38]
mov esi, dword [ebp - 0x54]
push 1
push edx
push ecx
push esi
lea edx, [ebp - 0xe4]
push edx
lea eax, [ebp - 0x48]
push eax
call fcn.0042d6d0
add esp, 0x18
cmp dword [esi], 0
jne 0x4331bb
test eax, eax
jne 0x4307d7
mov esi, dword [ebp - 0xe4]
mov edi, dword [ebp - 0x48]
jmp 0x4309b7
cmp eax, 5
jne 0x4307e7
mov edi, dword [ebp - 0x48]
lea esi, [eax + 3]
jmp 0x4309b7
cmp eax, 0xc
je 0x432fc9
cmp eax, 0x1a
jne 0x43081d
mov edi, dword [ebp - 0x48]
cmp word [edi + 2], 0x5c
jne 0x43080e
cmp word [edi + 4], 0x45
jne 0x43080e
add edi, 4
jmp 0x430b52
mov dword [ebp - 0xac], 1
jmp 0x430b52
cmp eax, 0x19
je 0x430b4f
mov ecx, dword [ebp - 0x50]
mov ecx, dword [ecx + 8]
mov edi, 1
add dword [ebp - 0x5c], edi
mov edx, 2
add dword [ebp - 0x64], edx
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x430848.12
jmp dword [eax*4 + 0x433290]
xor eax, eax
mov dl, byte [ecx + eax + 0x40]
or byte [ebp + eax - 0x24], dl
add eax, edi
cmp eax, 0x20
jb 0x430851
jmp 0x430b4f
mov dword [ebp - 0x70], edi
xor eax, eax
lea ebx, [ebx]
mov dl, byte [ecx + eax + 0x40]
not dl
or byte [ebp + eax - 0x24], dl
add eax, edi
cmp eax, 0x20
jb 0x430870
jmp 0x430b4f
xor eax, eax
jmp 0x430890
mov dl, byte [ecx + eax + 0xa0]
or byte [ebp + eax - 0x24], dl
add eax, edi
cmp eax, 0x20
jb 0x430890
jmp 0x430b4f
mov dword [ebp - 0x70], edi
xor eax, eax
lea esp, [esp]
mov dl, byte [ecx + eax + 0xa0]
not dl
or byte [ebp + eax - 0x24], dl
add eax, edi
cmp eax, 0x20
jb 0x4308b0
jmp 0x430b4f
movzx eax, byte [ecx]
or byte [ebp - 0x24], al
movzx eax, byte [ecx + 1]
and al, 0xf7
or byte [ebp - 0x23], al
mov eax, edx
lea ebx, [ebx]
mov dl, byte [ecx + eax]
or byte [ebp + eax - 0x24], dl
add eax, edi
cmp eax, 0x20
jb 0x4308e0
jmp 0x430b4f
mov esi, ecx
lea eax, [ebp - 0x24]
xor edx, edx
mov dword [ebp - 0x70], edi
sub esi, eax
nop
lea eax, [ebp + edx - 0x24]
mov cl, byte [esi + eax]
not cl
or byte [eax], cl
add edx, edi
cmp edx, 0x20
jb 0x430900
or byte [ebp - 0x23], 8
jmp 0x430b4f
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x74]
push 0x44d8a0
push edx
push eax
lea ecx, [ebp - 0x60]
push ecx
lea edx, [ebp - 0x24]
push edx
call fcn.0042fc60
add esp, 0x14
jmp 0x430b4f
mov eax, dword [ebp - 0x50]
push 0x44d8a0
push eax
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x60]
push ecx
lea edx, [ebp - 0x24]
push edx
call fcn.0042fd90
add esp, 0x10
jmp 0x430b4f
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x74]
push 0x44d8f0
push eax
push ecx
lea edx, [ebp - 0x60]
push edx
lea eax, [ebp - 0x24]
push eax
call fcn.0042fc60
add esp, 0x14
jmp 0x430b4f
mov ecx, dword [ebp - 0x50]
push 0x44d8f0
push ecx
lea edx, [ebp - 0x60]
push edx
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x74]
call fcn.0042fd90
add esp, 0x10
jmp 0x430b4f
test byte [ebp - 0x74], 0x40
jne 0x432fd6
sub dword [ebp - 0x5c], edi
mov edi, dword [ebp - 0x48]
sub dword [ebp - 0x64], edx
movzx esi, word [edi]
cmp word [edi + 2], 0x5c
jne 0x4309e0
xor ecx, ecx
lea eax, [ecx + 0x5c]
mov edx, 0x45
cmp word [edi + 4], dx
jne 0x4309e0
add edi, 4
mov dword [ebp - 0x48], edi
mov dword [ebp - 0xac], ecx
cmp word [edi + 2], ax
je 0x4309c8
mov ebx, edi
cmp esi, 0xd
je 0x4309ec
cmp esi, 0xa
jne 0x4309f8
mov ecx, dword [ebp - 0x50]
or dword [ecx + 0x54], 0x800
jmp 0x4309fb
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0xac]
test edx, edx
jne 0x430b17
cmp word [edi + 2], 0x2d
jne 0x430b17
add edi, 4
mov dword [ebp - 0x48], edi
cmp word [edi], 0x5c
jne 0x430a77
mov eax, 0x45
cmp word [edi + 2], ax
jne 0x430a39
add edi, 4
mov dword [ebp - 0x48], edi
cmp word [edi], 0x5c
je 0x430a25
jmp 0x430a77
cmp word [edi], 0x5c
jne 0x430a77
nop
cmp word [edi + 2], 0x51
jne 0x430a77
add edi, 4
mov dword [ebp - 0x48], edi
cmp word [edi], 0x5c
jne 0x430a67
cmp word [edi + 2], ax
jne 0x430a67
add edi, 4
mov dword [ebp - 0x48], edi
cmp word [edi], 0x5c
je 0x430a40
jmp 0x430a77
mov dword [ebp - 0xac], 1
mov edx, dword [ebp - 0xac]
movzx eax, word [edi]
test ax, ax
je 0x430b12
test edx, edx
jne 0x430a90
cmp eax, 0x5d
je 0x430b12
mov dword [ebp - 0x94], eax
test edx, edx
jne 0x430ae5
cmp eax, 0x5c
jne 0x430ae5
mov edx, dword [ebp - 0x74]
mov eax, dword [ecx + 0x38]
mov edi, dword [ebp - 0x54]
push 1
push edx
push eax
push edi
lea ecx, [ebp - 0x94]
push ecx
lea edx, [ebp - 0x48]
push edx
call fcn.0042d6d0
add esp, 0x18
cmp dword [edi], 0
jne 0x4331bb
mov ecx, dword [ebp - 0x50]
test eax, eax
je 0x430adc
cmp eax, 5
jne 0x430b12
mov eax, 8
jmp 0x430ae2
mov eax, dword [ebp - 0x94]
mov edi, dword [ebp - 0x48]
cmp eax, esi
jb 0x432fe3
je 0x430b17
mov dword [ebp - 0x64], 2
cmp eax, 0xd
je 0x430b00
cmp eax, 0xa
jne 0x430b07
or dword [ecx + 0x54], 0x800
push ecx
mov ecx, dword [ebp - 0x74]
push ecx
lea edx, [ebp - 0x60]
push edx
jmp 0x430b3e
mov edi, ebx
mov dword [ebp - 0x48], edi
mov eax, dword [ebp - 0x64]
cmp eax, 2
jge 0x430b23
inc eax
mov dword [ebp - 0x64], eax
cmp eax, 1
jne 0x430b33
cmp word [edi + 2], 0x5d
je 0x430c45
mov edx, dword [ebp - 0x74]
push ecx
lea eax, [ebp - 0x60]
push edx
push eax
mov eax, esi
lea ecx, [ebp - 0x24]
push ecx
mov ecx, esi
call fcn.0042fb80
add esp, 0x10
add dword [ebp - 0x5c], eax
mov edi, dword [ebp - 0x48]
mov ebx, dword [ebp - 0x4c]
add edi, 2
mov dword [ebp - 0x48], edi
movzx esi, word [edi]
test esi, esi
je 0x432ff1
cmp esi, 0x5d
jne 0x4305f3
cmp dword [ebp - 0xac], 0
jne 0x4305f3
mov ecx, dword [ebp - 0x60]
lea eax, [esi - 0x5c]
cmp ecx, dword [ebp - 0x68]
ja 0x430b8d
mov eax, dword [ebp - 0xa8]
cmp dword [ebp - 0x78], 0xfffffffe
jne 0x430b9a
mov dword [ebp - 0x78], 0xffffffff
mov edx, dword [ebp - 0xa4]
mov dword [ebp - 0xb8], edx
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0xb0], edx
mov edx, dword [ebp - 0x98]
mov dword [ebp - 0xb4], edx
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0xa8], edx
test eax, eax
je 0x430cd4
cmp dword [ebp - 0x70], 0
jne 0x430cd4
xor eax, eax
mov word [ecx], ax
add ecx, 2
cmp dword [ebp - 0x6c], eax
mov edx, 0x6c
setne al
cmp dword [ebp - 0x5c], 0
mov word [ebx], dx
mov dword [ebp - 0x60], ecx
movzx eax, ax
mov word [ebx + 4], ax
jle 0x430cc4
or eax, 2
mov word [ebx + 4], ax
add ebx, 6
sub ecx, ebx
and ecx, 0xfffffffe
push ecx
lea edx, [ebx + 0x20]
push ebx
push edx
call dword [sym.imp.MSVCR100.dll_memmove]
mov eax, dword [ebp - 0x60]
add eax, 0x20
mov ecx, 8
lea esi, [ebp - 0x24]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x58]
sub ecx, eax
add esp, 0xc
sar ecx, 1
mov word [eax + 2], cx
jmp 0x430cae
mov edx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x8c]
add edi, 2
cmp dword [ebp - 0x6c], 0
mov dword [ebp - 0x48], edi
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0xa8], eax
je 0x430156
cmp dword [ebp - 0x78], 0xfffffffe
jne 0x430c7a
mov dword [ebp - 0x78], 0xffffffff
mov ecx, dword [ebp - 0xa4]
test byte [ebp - 0x74], 1
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0xb8], ecx
mov ecx, 0
setne cl
mov dword [ebp - 0xb0], edx
add ecx, 0x1f
mov word [eax], cx
mov word [eax + 2], si
add eax, 4
mov dword [ebp - 0x4c], eax
mov ebx, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x48]
mov esi, dword [ebp - 0x58]
mov edx, dword [ebp - 0x50]
add edi, 2
xor ecx, ecx
jmp 0x42fffc
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x4c], ecx
sub ecx, eax
sar ecx, 1
mov word [eax + 2], cx
jmp 0x430cae
mov eax, dword [ebp - 0x6c]
xor edx, edx
cmp eax, dword [ebp - 0x70]
setne dl
add edx, 0x6a
cmp dword [ebp - 0x7c], 0
mov word [ebx], dx
jne 0x430d0e
test eax, eax
je 0x430d01
xor eax, eax
mov cl, byte [ebp + eax - 0x24]
not cl
mov byte [ebp + eax - 0x24], cl
inc eax
cmp eax, 0x20
jb 0x430cf1
mov ecx, 8
lea esi, [ebp - 0x24]
lea edi, [ebx + 2]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x48]
mov esi, dword [ebp - 0x58]
mov edx, dword [ebp - 0x50]
add ebx, 0x22
add edi, 2
mov dword [ebp - 0x4c], ebx
xor ecx, ecx
jmp 0x42fffc
cmp dword [ebp - 0x68], ecx
je case.0x43033f.1
mov ebx, dword [ebp - 0x54]
lea edx, [ebp - 0x84]
push edx
lea eax, [ebp - 0x90]
push eax
lea eax, [edi + 2]
mov edi, ebx
call fcn.0042dd50
add esp, 8
cmp dword [ebx], 0
mov edi, eax
mov dword [ebp - 0x48], edi
jne 0x4331be
mov ebx, dword [ebp - 0x4c]
jmp 0x430d93
mov dword [ebp - 0x84], 0xffffffff
jmp 0x430d8d
mov dword [ebp - 0x90], 1
mov dword [ebp - 0x84], 0xffffffff
jmp 0x430d93
mov dword [ebp - 0x84], 1
mov dword [ebp - 0x90], ecx
test esi, esi
je 0x432fff
mov eax, dword [ebp - 0x90]
test eax, eax
jne 0x430dd2
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xb0]
mov dword [ebp - 0xa4], ecx
mov ecx, dword [ebp - 0xb4]
mov dword [ebp - 0x78], edx
mov edx, dword [ebp - 0xa8]
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x8c], edx
sub eax, dword [ebp - 0x84]
mov ecx, esi
neg eax
sbb eax, eax
and eax, 2
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x80], ecx
movzx eax, word [edi + 2]
mov dword [ebp - 0x70], 0
cmp eax, 0x2b
jne 0x430e0b
xor edx, edx
add edi, 2
mov dword [ebp - 0x70], 1
mov dword [ebp - 0x48], edi
jmp 0x430e24
cmp eax, 0x3f
jne 0x430e1e
mov edx, dword [ebp - 0xf8]
add edi, 2
mov dword [ebp - 0x48], edi
jmp 0x430e24
mov edx, dword [ebp - 0xfc]
cmp word [esi], 0x6f
mov dword [ebp - 0x60], edx
jne 0x430e92
push 4
lea eax, [esi + 4]
push esi
push eax
call dword [sym.imp.MSVCR100.dll_memmove]
add ebx, 8
add esp, 0xc
cmp dword [ebp - 0x7c], 0
mov dword [esi], 0x4007b
mov dword [esi + 8], 0x40072
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0xc0], 6
jne 0x430e89
mov edx, dword [ebp - 0x50]
mov ecx, dword [edx + 0x10]
mov eax, dword [edx + 0x24]
add ecx, 2
cmp eax, ecx
jb 0x430e89
movzx ecx, word [eax - 2]
mov edi, esi
sub edi, dword [edx + 0x14]
add edi, 2
sar edi, 1
cmp ecx, edi
jne 0x430e89
add ecx, 2
mov word [eax - 2], cx
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x80]
mov edi, dword [ebp - 0x48]
movzx eax, word [esi]
cmp eax, 0x1d
je 0x4315ff
cmp eax, 0x1e
je 0x4315ff
cmp eax, 0x1f
je 0x4315ff
cmp eax, 0x20
je 0x4315ff
cmp eax, 0x17
jae 0x430eea
cmp dword [ebp - 0x70], 0
mov edx, eax
mov dword [ebp - 0x6c], 0x34
mov dword [ebp - 0x5c], edx
jne 0x431693
cmp dword [ebp - 0x84], 0
jge 0x431693
mov eax, dword [ebp - 0x74]
push eax
jmp 0x43166e
cmp eax, 0x6a
je 0x431576
cmp eax, 0x6b
je 0x431576
cmp eax, 0x6c
je 0x431576
cmp eax, 0x6d
je 0x431576
cmp eax, 0x6e
je 0x431576
cmp eax, 0x77
jb 0x43155a
mov edx, 0x81
cmp ax, dx
ja 0x43155a
mov edx, ebx
sub edx, esi
sar edx, 1
mov dword [ebp - 0x64], edx
xor edx, edx
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x94], edx
mov edx, 0x81
cmp ax, dx
jne 0x430f5b
mov edx, 0x8b
cmp word [esi + 4], dx
je 0x4319ca
mov edx, dword [ebp - 0x90]
cmp eax, 0x7b
jae 0x430f8a
test edx, edx
jg 0x4319ca
mov eax, dword [ebp - 0x84]
test eax, eax
js 0x430f7d
cmp eax, 1
jle 0x430f90
mov eax, 1
mov dword [ebp - 0x84], eax
jmp 0x430f90
mov eax, dword [ebp - 0x84]
test edx, edx
jne 0x431081
cmp eax, 1
jg 0x431011
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x50]
push ecx
push edx
xor eax, eax
push 1
push esi
mov word [ebx], ax
call fcn.0042f2e0
mov eax, dword [ebp - 0x64]
lea ecx, [eax + eax]
push ecx
lea edi, [esi + 2]
push esi
push edi
call dword [sym.imp.MSVCR100.dll_memmove]
add ebx, 2
add esp, 0x1c
cmp dword [ebp - 0x84], 0
mov dword [ebp - 0x4c], ebx
jne 0x430fe6
mov edx, 0x9b
mov word [esi], dx
jmp 0x4319c7
mov eax, dword [ebp - 0x60]
add eax, 0x8c
dec dword [ebp - 0x84]
mov edx, dword [ebp - 0x84]
mov word [esi], ax
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x58], edi
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x94], esi
jmp 0x431215
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x50]
push edx
push eax
xor ecx, ecx
push 3
push esi
mov word [ebx], cx
call fcn.0042f2e0
mov ecx, dword [ebp - 0x64]
lea edx, [ecx + ecx]
push edx
lea eax, [esi + 6]
push esi
push eax
call dword [sym.imp.MSVCR100.dll_memmove]
mov ecx, dword [ebp - 0x60]
add ecx, 0x8c
mov word [esi], cx
mov edx, 0x7d
mov word [esi + 2], dx
add esi, 4
xor eax, eax
mov word [esi], ax
mov edi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x80]
add ebx, 6
mov dword [ebp - 0x68], esi
add esi, 2
add esp, 0x1c
dec dword [ebp - 0x84]
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x58], esi
jmp 0x431215
cmp edx, 1
jle 0x4311ff
mov esi, dword [ebp - 0x7c]
test esi, esi
je 0x4310de
mov eax, dword [ebp - 0x90]
dec eax
mov dword [ebp - 0xa0], eax
imul eax, dword [ebp - 0xc0]
fild dword [ebp - 0xa0]
fimul dword [ebp - 0xc0]
mov edx, eax
fcomp qword [0x450f48]
fnstsw ax
test ah, 0x41
je 0x43300d
mov eax, dword [esi]
mov ebx, 0x7fffffeb
sub ebx, eax
cmp ebx, edx
jl 0x43300d
add edx, eax
mov dword [esi], edx
jmp 0x4311ff
cmp dword [ebp - 0xd4], 0
je 0x431105
cmp dword [ebp - 0x8c], 0
jge 0x431105
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x98], edx
mov dword [ebp - 0x8c], eax
mov eax, 1
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x90], eax
jle 0x4311ff
mov ecx, dword [ebp - 0x64]
lea edx, [ecx + ecx]
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x50]
mov esi, dword [edi + 0x24]
push eax
push ecx
push edx
call sub.MSVCR100.dll_memcpy
mov edx, dword [edi + 0x34]
mov eax, dword [edi + 0x10]
mov ecx, esi
sub ecx, dword [ebp - 0x88]
add esp, 0xc
sar ecx, 1
sub edx, ecx
lea ecx, [eax + edx*2 - 0xc8]
cmp dword [edi + 0x24], ecx
jbe 0x4311af
mov ecx, edi
lea esp, [esp]
mov edx, dword [ebp - 0x88]
sub esi, eax
sub edx, eax
sar esi, 1
sar edx, 1
mov ebx, esi
mov esi, ecx
mov edi, edx
call fcn.0042d5b0
mov edx, dword [ebp - 0x54]
mov dword [edx], eax
test eax, eax
jne 0x4331bb
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx + 0x10]
lea edx, [eax + edi*2]
lea esi, [eax + ebx*2]
mov edi, esi
sub edi, edx
mov dword [ebp - 0x88], edx
mov edx, dword [ecx + 0x34]
sar edi, 1
sub edx, edi
lea edx, [eax + edx*2 - 0xc8]
cmp dword [ecx + 0x24], edx
ja 0x431160
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0x64]
cmp eax, esi
jae 0x4311d7
mov ecx, dword [ebp - 0x50]
nop
mov di, word [eax]
mov ebx, dword [ecx + 0x24]
add di, dx
mov word [ebx], di
add dword [ecx + 0x24], 2
add eax, 2
cmp eax, esi
jb 0x4311c0
mov eax, dword [ebp - 0x4c]
lea ecx, [eax + edx*2]
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x6c], eax
cmp eax, dword [ebp - 0x90]
jl 0x431122
mov edi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0x84]
test edx, edx
jle 0x431217
sub edx, dword [ebp - 0x90]
mov dword [ebp - 0x84], edx
test edx, edx
js 0x43141e
mov esi, dword [ebp - 0x7c]
test esi, esi
je 0x431274
test edx, edx
jle 0x431274
mov eax, dword [ebp - 0xc0]
add eax, 5
mov dword [ebp - 0xa0], eax
imul edx, eax
fild dword [ebp - 0xa0]
fimul dword [ebp - 0x84]
add edx, 0xfffffffc
fcomp qword [0x450f48]
fnstsw ax
test ah, 0x41
je 0x432efa
mov eax, dword [esi]
mov ebx, 0x7fffffeb
sub ebx, eax
cmp ebx, edx
jl 0x432efa
add edx, eax
mov dword [esi], edx
jmp 0x4313cc
dec edx
mov dword [ebp - 0x6c], edx
js 0x4313cc
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x64]
add edx, 0x8c
lea ecx, [eax + eax]
mov dword [ebp - 0xa0], edx
mov dword [ebp - 0x5c], ecx
jmp 0x4312a0
mov eax, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x50]
mov dx, word [ebp - 0xa0]
mov esi, dword [edi + 0x24]
mov word [eax], dx
add eax, 2
cmp dword [ebp - 0x6c], 0
mov dword [ebp - 0x4c], eax
je 0x4312e7
mov edx, dword [ebp - 0x68]
mov ecx, 0x7d
mov word [eax], cx
add eax, 2
test edx, edx
jne 0x4312d5
xor ecx, ecx
jmp 0x4312db
mov ecx, eax
sub ecx, edx
sar ecx, 1
mov dword [ebp - 0x68], eax
mov word [eax], cx
add eax, 2
mov dword [ebp - 0x4c], eax
mov edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
push edx
push ecx
push eax
call sub.MSVCR100.dll_memcpy
mov ecx, dword [edi + 0x34]
mov eax, dword [edi + 0x10]
mov edx, esi
sub edx, dword [ebp - 0x88]
add esp, 0xc
sar edx, 1
sub ecx, edx
lea edx, [eax + ecx*2 - 0xc8]
cmp dword [edi + 0x24], edx
jbe 0x43136f
mov ecx, edi
jmp 0x431320
mov edx, dword [ebp - 0x88]
sub esi, eax
sub edx, eax
sar esi, 1
sar edx, 1
mov ebx, esi
mov esi, ecx
mov edi, edx
call fcn.0042d5b0
mov ecx, dword [ebp - 0x54]
mov dword [ecx], eax
test eax, eax
jne 0x4331bb
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx + 0x10]
lea edx, [eax + edi*2]
lea esi, [eax + ebx*2]
mov edi, esi
sub edi, edx
mov dword [ebp - 0x88], edx
mov edx, dword [ecx + 0x34]
sar edi, 1
sub edx, edi
lea edx, [eax + edx*2 - 0xc8]
cmp dword [ecx + 0x24], edx
ja 0x431320
mov eax, dword [ebp - 0x88]
cmp eax, esi
jae 0x4313ab
xor ecx, ecx
cmp dword [ebp - 0x6c], ecx
setne cl
lea ecx, [ecx + ecx + 1]
movzx edx, cx
mov ecx, dword [ebp - 0x50]
jmp 0x431390
mov di, word [eax]
mov ebx, dword [ecx + 0x24]
add di, dx
add di, word [ebp - 0x64]
add eax, 2
mov word [ebx], di
add dword [ecx + 0x24], 2
cmp eax, esi
jb 0x431390
dec dword [ebp - 0x6c]
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x64]
lea ecx, [edx + eax*2]
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x4c], ecx
jns 0x4312a0
mov edi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x80]
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x431760
mov ecx, dword [ebp - 0x4c]
lea ebx, [ebx]
mov eax, ecx
sub eax, ebx
sar eax, 1
inc eax
lea esi, [eax + eax]
mov edx, ecx
sub edx, esi
movzx esi, word [edx + 2]
test esi, esi
jne 0x4313fa
xor ebx, ebx
jmp 0x4313ff
neg esi
lea ebx, [ebx + esi*2]
mov esi, 0x72
mov word [ecx], si
mov word [ecx + 2], ax
add ecx, 4
mov word [edx + 2], ax
test ebx, ebx
jne 0x4313e0
mov dword [ebp - 0x4c], ecx
jmp 0x43175a
mov ebx, dword [ebp - 0x4c]
movzx ecx, word [ebx - 2]
lea eax, [ebx - 4]
add ecx, ecx
mov esi, eax
sub esi, ecx
movzx ecx, word [esi]
mov dword [ebp - 0x68], eax
cmp ecx, 0x7b
je 0x43143e
cmp ecx, 0x7c
jne 0x43144e
cmp dword [ebp - 0x70], 0
je 0x43144e
mov edx, 0x7d
mov word [esi], dx
jmp 0x431460
cmp ecx, 0x7b
je 0x43154c
cmp ecx, 0x7c
je 0x43154c
cmp dword [ebp - 0x7c], 0
jne 0x431493
mov edi, esi
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x68]
push eax
push 0
push ecx
push edi
call fcn.0042e6d0
add esp, 0x10
test eax, eax
jne 0x43148f
movzx edx, word [edi + 2]
cmp word [edi + edx*2], 0x71
lea edi, [edi + edx*2]
je 0x431468
jmp 0x431493
add word [esi], 5
cmp dword [ebp - 0x70], 0
je 0x43153b
movzx eax, word [esi]
mov ecx, 0x81
cmp ax, cx
je 0x4314c5
mov edx, 0x86
cmp ax, dx
je 0x4314c5
mov ecx, dword [ebp - 0x68]
inc eax
mov word [esi], ax
mov eax, 0x75
mov word [ecx], ax
jmp 0x431517
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x50]
push eax
push ecx
mov edi, ebx
xor edx, edx
push 2
sub edi, esi
push esi
sar edi, 1
mov word [ebx], dx
call fcn.0042f2e0
lea edx, [edi + edi]
push edx
lea eax, [esi + 4]
push esi
push eax
call dword [sym.imp.MSVCR100.dll_memmove]
add edi, 2
mov ecx, 0x7e
mov word [esi], cx
mov edx, 0x75
mov word [ebx + 4], dx
mov word [ebx + 6], di
add esp, 0x1c
add ebx, 8
mov dword [ebp - 0x4c], ebx
mov word [esi + 2], di
mov eax, dword [ebp - 0x94]
test eax, eax
je 0x431529
mov ecx, 0x8e
mov word [eax], cx
cmp dword [ebp - 0x90], 2
jl 0x4319c7
jmp 0x43175a
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x68]
add edx, 0x73
mov word [eax], dx
jmp 0x4319c7
mov ecx, dword [ebp - 0x60]
add ecx, 0x73
mov word [eax], cx
jmp 0x43175a
mov edx, 0x97
cmp ax, dx
je 0x4319ca
mov ecx, dword [ebp - 0x54]
mov dword [ecx], 0xb
jmp 0x4331be
mov eax, dword [ebp - 0x84]
test eax, eax
jne 0x431588
mov dword [ebp - 0x4c], esi
jmp 0x4319ca
mov ecx, dword [ebp - 0x90]
test ecx, ecx
jne 0x4315a8
cmp eax, 0xffffffff
jne 0x4315c3
add edx, 0x62
mov word [ebx], dx
add ebx, 2
mov dword [ebp - 0x4c], ebx
jmp 0x43175a
cmp ecx, 1
jne 0x4315d9
cmp eax, 0xffffffff
jne 0x4315d9
add edx, 0x64
mov word [ebx], dx
add ebx, 2
mov dword [ebp - 0x4c], ebx
jmp 0x43175a
cmp eax, 1
jne 0x4315d9
add edx, 0x66
mov word [ebx], dx
add ebx, 2
mov dword [ebp - 0x4c], ebx
jmp 0x43175a
add edx, 0x68
mov word [ebx], dx
mov word [ebx + 2], cx
cmp eax, 0xffffffff
jne 0x4315f0
xor eax, eax
mov dword [ebp - 0x84], eax
mov word [ebx + 4], ax
add ebx, 6
mov dword [ebp - 0x4c], ebx
jmp 0x43175a
mov ecx, eax
sub ecx, 0x1e
je 0x431627
dec ecx
je 0x43161e
dec ecx
je 0x431615
mov dword [ebp - 0x6c], 0
jmp 0x43162e
mov dword [ebp - 0x6c], 0x27
jmp 0x43162e
mov dword [ebp - 0x6c], 0x1a
jmp 0x43162e
mov dword [ebp - 0x6c], 0xd
movzx ecx, word [ebx - 2]
mov dword [ebp - 0x5c], ecx
cmp eax, 0x1e
ja 0x43165b
cmp dword [ebp - 0x90], 1
jle 0x43165b
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 0x58]
or eax, dword [ebp - 0xcc]
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x70], 0
jne 0x431693
cmp dword [ebp - 0x84], 0
jge 0x431693
mov ecx, dword [ebp - 0x74]
push ecx
add edi, 2
push edi
mov edi, dword [ebp - 0x50]
push esi
call fcn.0042f410
add esp, 0xc
test eax, eax
je 0x431690
mov dword [ebp - 0x70], 1
mov dword [ebp - 0x60], 0
mov edi, dword [ebp - 0x48]
movzx eax, word [esi]
cmp eax, 0x10
je 0x4316a8
cmp eax, 0xf
je 0x4316a8
or eax, 0xffffffff
mov dword [ebp - 0x68], eax
jmp 0x4316b3
movzx edx, word [esi + 2]
movzx eax, word [esi + 4]
mov dword [ebp - 0x68], edx
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 0x64], eax
mov eax, ebx
mov dword [ebp - 0x4c], esi
test ecx, ecx
je 0x4319ca
mov ebx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x90]
add ebx, dword [ebp - 0x6c]
test edx, edx
jne 0x431711
cmp ecx, 0xffffffff
jne 0x4316ec
add ebx, 0x21
mov word [esi], bx
add esi, 2
mov dword [ebp - 0x4c], esi
jmp 0x43174a
cmp ecx, 1
jne 0x4316ff
add ebx, 0x25
mov word [esi], bx
add esi, 2
mov dword [ebp - 0x4c], esi
jmp 0x43174a
add ebx, 0x27
mov word [esi], bx
mov word [esi + 2], cx
add esi, 4
mov dword [ebp - 0x4c], esi
jmp 0x43174a
cmp edx, 1
jne 0x431797
cmp ecx, 0xffffffff
jne 0x43172d
add ebx, 0x23
mov word [esi], bx
add esi, 2
mov dword [ebp - 0x4c], esi
jmp 0x43174a
mov dword [ebp - 0x4c], eax
cmp ecx, 1
je 0x4319ca
dec ecx
add ebx, 0x27
mov word [eax], bx
mov word [eax + 2], cx
add eax, 4
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov cx, word [ebp - 0x5c]
mov word [eax], cx
add eax, 2
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x80]
mov edi, dword [ebp - 0x48]
cmp dword [ebp - 0x70], 0
je 0x4319ca
movzx eax, word [ecx]
cmp eax, 0x5d
jne 0x431831
movzx eax, word [ecx + 4]
cmp eax, 0x10
je 0x431826
cmp eax, 0xf
je 0x431826
xor eax, eax
lea ecx, [ecx + eax*2 + 6]
jmp 0x431845
mov eax, dword [ebp - 0x6c]
add eax, 0x29
mov word [esi], ax
lea eax, [esi + 2]
mov word [eax], dx
add eax, 2
mov dword [ebp - 0x4c], eax
test ecx, ecx
jns 0x4317dd
mov cx, word [ebp - 0x5c]
mov word [eax], cx
mov ecx, dword [ebp - 0x68]
add eax, 2
test ecx, ecx
js 0x4317cf
mov dx, word [ebp - 0x64]
mov word [eax], cx
mov word [eax + 2], dx
add eax, 4
add ebx, 0x21
mov word [eax], bx
add eax, 2
jmp 0x431747
cmp ecx, edx
je 0x43174a
mov eax, dword [ebp - 0x4c]
mov si, word [ebp - 0x5c]
mov word [eax], si
mov esi, dword [ebp - 0x68]
add eax, 2
test esi, esi
js 0x431807
mov word [eax], si
mov si, word [ebp - 0x64]
mov word [eax + 2], si
add eax, 4
sub ecx, edx
mov dword [ebp - 0x84], ecx
cmp ecx, 1
jne 0x43173a
add ebx, 0x25
mov word [eax], bx
add eax, 2
jmp 0x431747
mov eax, 2
lea ecx, [ecx + eax*2 + 6]
jmp 0x431845
cmp eax, 0x29
je 0x43183b
cmp eax, 0x43
jne 0x431848
movzx eax, byte [eax + 0x44d7d8]
lea ecx, [ecx + eax*2]
mov dword [ebp - 0x80], ecx
mov esi, dword [ebp - 0x4c]
sub esi, ecx
sar esi, 1
test esi, esi
jle 0x4319ca
movzx eax, word [ecx]
add eax, 0xffffffdf
cmp eax, 0x3a
ja case.0x43186d.34
movzx edx, byte [eax + 0x433324]
jmp dword [edx*4 + 0x4332d0]
mov eax, 0x2a
mov word [ecx], ax
jmp 0x4319c7
mov edx, 0x2b
mov word [ecx], dx
jmp 0x4319c7
mov eax, 0x2c
mov word [ecx], ax
jmp 0x4319c7
mov edx, 0x2d
mov word [ecx], dx
jmp 0x4319c7
mov eax, 0x37
mov word [ecx], ax
jmp 0x4319c7
mov edx, 0x38
mov word [ecx], dx
jmp 0x4319c7
mov eax, 0x39
mov word [ecx], ax
jmp 0x4319c7
mov edx, 0x3a
mov word [ecx], dx
jmp 0x4319c7
mov eax, 0x44
mov word [ecx], ax
jmp 0x4319c7
mov edx, 0x45
mov word [ecx], dx
jmp 0x4319c7
mov eax, 0x46
mov word [ecx], ax
jmp 0x4319c7
mov edx, 0x47
mov word [ecx], dx
jmp 0x4319c7
mov eax, 0x51
mov word [ecx], ax
jmp 0x4319c7
mov edx, 0x52
mov word [ecx], dx
jmp 0x4319c7
mov eax, 0x53
mov word [ecx], ax
jmp 0x4319c7
mov edx, 0x54
mov word [ecx], dx
jmp 0x4319c7
mov eax, 0x5e
mov word [ecx], ax
jmp 0x4319c7
mov edx, 0x5f
mov word [ecx], dx
jmp 0x4319c7
mov eax, 0x60
mov word [ecx], ax
jmp 0x4319c7
mov edx, 0x61
mov word [ecx], dx
jmp 0x4319c7
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x50]
mov edi, dword [ebp - 0x4c]
push ecx
xor eax, eax
push edx
mov word [edi], ax
mov eax, dword [ebp - 0x80]
push 2
push eax
call fcn.0042f2e0
mov eax, dword [ebp - 0x80]
lea ecx, [esi + esi]
push ecx
push eax
add eax, 4
push eax
call dword [sym.imp.MSVCR100.dll_memmove]
mov eax, dword [ebp - 0x80]
mov edx, 0x7b
mov word [eax], dx
add esi, 2
mov ecx, 0x72
mov word [edi + 4], cx
mov word [edi + 6], si
mov edx, dword [ebp - 0x80]
add esp, 0x1c
add edi, 8
mov dword [ebp - 0x4c], edi
mov word [edx + 2], si
mov edi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x9c]
or dword [eax + 0x58], ecx
mov dword [ebp - 0x58], 0
mov ebx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x58]
mov edx, dword [ebp - 0x50]
add edi, 2
xor ecx, ecx
jmp 0x42fffc
mov eax, dword [ebp - 0x74]
add edi, 2
mov dword [ebp - 0xa0], eax
mov eax, dword [edx + 0x24]
mov dword [ebp - 0x48], edi
cmp word [edi], 0x2a
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x60], 0x7f
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x94], ecx
jne 0x431c56
movzx eax, word [edi + 2]
lea ecx, [edi + 2]
mov dword [ebp - 0x64], ecx
cmp eax, 0x3a
je 0x431a4f
mov ecx, 0xff
cmp ax, cx
ja 0x431c56
mov ecx, dword [edx + 0xc]
test byte [eax + ecx], 2
je 0x431c56
mov ecx, dword [ebp - 0x64]
xor eax, eax
mov edi, ecx
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x48], edi
movzx eax, word [edi]
mov esi, 0xff
mov dword [ebp - 0x6c], 0x44d874
cmp ax, si
ja 0x431a92
mov edx, dword [edx + 0xc]
movzx eax, ax
test byte [eax + edx], 2
je 0x431a92
add edi, 2
mov dword [ebp - 0x48], edi
movzx eax, word [edi]
mov esi, 0xff
cmp ax, si
jbe 0x431a76
mov edx, edi
sub edx, ecx
sar edx, 1
cmp word [edi], 0x3a
mov dword [ebp - 0x94], edx
jne 0x431adf
add edi, 2
mov dword [ebp - 0x48], edi
movzx eax, word [edi]
mov ecx, edi
mov dword [ebp - 0x60], ecx
test ax, ax
je 0x431acb
cmp ax, 0x29
je 0x431acb
add edi, 2
mov dword [ebp - 0x48], edi
movzx eax, word [edi]
test ax, ax
jne 0x431ab7
mov eax, edi
sub eax, ecx
sar eax, 1
mov dword [ebp - 0x70], eax
cmp eax, 0xffff
ja 0x43301b
cmp word [edi], 0x29
jne 0x433029
mov dword [ebp - 0x68], 0
mov esi, 0x44d9b8
cmp edx, dword [esi]
jne 0x431b14
mov eax, dword [ebp - 0x94]
mov edx, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x64]
call fcn.0043a440
test eax, eax
je 0x431b3c
mov edx, dword [ebp - 0x94]
mov eax, dword [esi]
mov ecx, dword [ebp - 0x6c]
inc dword [ebp - 0x68]
add esi, 0xc
lea eax, [ecx + eax + 1]
mov dword [ebp - 0x6c], eax
cmp esi, 0x44da24
jl 0x431af5
mov ecx, dword [ebp - 0x54]
mov dword [ecx], 0x3c
jmp 0x4331be
mov edx, dword [ebp - 0x68]
lea eax, [edx + edx*2]
add eax, eax
mov ecx, dword [eax + eax + 0x44d9bc]
add eax, eax
cmp ecx, 0x98
jne 0x431bb4
cmp dword [ebp - 0x70], 0
jne 0x433037
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx + 0x20]
mov dword [ecx + 0x5c], 1
test eax, eax
je 0x431b89
mov esi, 0x9a
mov word [ebx], si
mov si, word [eax + 4]
mov word [ebx + 2], si
mov eax, dword [eax]
add ebx, 4
test eax, eax
jne 0x431b70
xor eax, eax
cmp dword [ecx + 0x4c], eax
setg al
add ebx, 2
mov dword [ebp - 0x4c], ebx
add eax, 0x98
cmp dword [ebp - 0x78], 0xfffffffe
movzx eax, ax
mov word [ebx - 2], ax
mov edi, eax
jne 0x431c18
mov dword [ebp - 0x78], 0xffffffff
jmp 0x431c18
mov esi, dword [ebp - 0x70]
test esi, esi
jne 0x431bd3
test ecx, ecx
js 0x433045
movzx eax, cx
mov word [ebx], ax
add ebx, 2
mov edi, eax
mov dword [ebp - 0x4c], ebx
jmp 0x431c15
cmp dword [eax + 0x44d9c0], 0
jl 0x433053
movzx eax, word [eax + 0x44d9c0]
mov edx, dword [ebp - 0x60]
lea ecx, [esi + esi]
mov word [ebx], ax
push ecx
mov word [ebx + 2], si
push edx
add ebx, 4
push ebx
mov edi, eax
call sub.MSVCR100.dll_memcpy
mov edx, dword [ebp - 0x68]
lea ebx, [ebx + esi*2]
xor eax, eax
add esp, 0xc
mov word [ebx], ax
add ebx, 2
mov dword [ebp - 0x4c], ebx
mov ecx, dword [ebp - 0x50]
lea eax, [edi - 0x90]
cmp eax, 5
ja case.default.0x431c23
jmp dword [eax*4 + 0x433360]
or dword [ecx + 0x54], 0x1000
jmp case.default.0x431c23
mov dword [ecx + 0x60], 1
mov edi, dword [ebp - 0x48]
cmp edx, 9
jge 0x431b2e
mov esi, dword [ebp - 0x58]
mov edx, dword [ebp - 0x50]
add edi, 2
xor ecx, ecx
jmp 0x42fffc
cmp word [edi], 0x3f
jne 0x43248c
add edi, 2
mov dword [ebp - 0x48], edi
movzx eax, word [edi]
lea ecx, [eax - 0x21]
cmp ecx, 0x5b
ja case.0x431c7c.34
movzx ecx, byte [ecx + 0x4333b4]
jmp dword [ecx*4 + 0x433378]
add edi, 2
mov dword [ebp - 0x48], edi
movzx eax, word [edi]
test ax, ax
je 0x431ca5
cmp ax, 0x29
je 0x431cb3
add edi, 2
mov dword [ebp - 0x48], edi
movzx eax, word [edi]
test ax, ax
jne 0x431c91
mov edx, dword [ebp - 0x54]
mov dword [edx], 0x12
jmp 0x4331be
cmp word [edi], 0
je 0x431ca5
mov edx, dword [ebp - 0x50]
add edi, 2
xor ecx, ecx
jmp 0x42fffc
mov dword [ebp - 0x94], 1
mov dword [ebp - 0x60], 0x7d
add edi, 2
mov dword [ebp - 0x48], edi
mov eax, dword [ebp - 0x60]
mov word [ebx], ax
mov ecx, dword [edx + 0x58]
mov edi, dword [edx + 0x38]
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0xc0], 0
cmp eax, 0x79
je 0x43285b
cmp eax, 0x7a
je 0x43285b
xor eax, eax
jmp 0x432860
mov dword [ebp - 0xc4], edi
cmp word [edi + 2], 0x3f
mov dword [ebp - 0x60], 0x81
jne 0x431d89
cmp word [edi + 4], 0x43
jne 0x431d63
movzx ecx, word [edi + 6]
mov eax, 3
cmp ecx, 0x30
jb 0x431d52
cmp cx, 0x39
ja 0x431d52
movzx ecx, word [edi + eax*2 + 2]
inc eax
cmp ecx, 0x30
jae 0x431d41
cmp word [edi + eax*2], 0x29
jne 0x431d63
lea edi, [edi + eax*2 + 2]
mov dword [ebp - 0xc4], edi
cmp word [edi + 2], 0x3f
jne 0x431d89
movzx eax, word [edi + 4]
cmp eax, 0x3d
je 0x431cdd
cmp eax, 0x21
je 0x431cdd
cmp eax, 0x3c
je 0x431cdd
mov eax, 0x87
mov word [ebx + 4], ax
mov edi, dword [ebp - 0x48]
movzx eax, word [edi + 2]
or esi, 0xffffffff
mov dword [ebp - 0x70], 2
mov dword [ebp - 0x68], esi
cmp eax, 0x52
jne 0x431dc9
cmp word [edi + 4], 0x26
lea ecx, [edi + 4]
jne 0x431dc9
mov dword [ebp - 0x48], ecx
mov ecx, 0x89
mov word [ebx + 4], cx
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x5c], esi
jmp 0x431e0a
cmp eax, 0x3c
jne 0x431ddd
add edi, 2
mov dword [ebp - 0x5c], 0x3e
mov dword [ebp - 0x48], edi
jmp 0x431e0a
cmp eax, 0x27
jne 0x431ded
add edi, 2
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x48], edi
jmp 0x431e0a
mov dword [ebp - 0x5c], 0
cmp eax, 0x2d
je 0x431dfe
cmp eax, 0x2b
jne 0x431e0a
add edi, 2
mov dword [ebp - 0x48], edi
movzx eax, word [edi]
mov dword [ebp - 0x68], eax
movzx eax, word [edi + 2]
mov ecx, 0xff
cmp ax, cx
ja 0x4330be
mov ecx, dword [edx + 0xc]
test byte [eax + ecx], 0x10
je 0x4330be
add edi, 2
mov dword [ebp - 0x48], edi
movzx eax, word [edi]
xor ecx, ecx
mov esi, 0xff
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x58], edi
cmp ax, si
ja 0x431e8c
mov ecx, dword [edx + 0xc]
movzx esi, ax
test byte [ecx + esi], 0x10
mov ecx, dword [ebp - 0x64]
je 0x431e8c
test ecx, ecx
js 0x431e79
cmp ax, 0x30
jb 0x431e6f
cmp ax, 0x39
ja 0x431e6f
lea ecx, [ecx + ecx*4]
lea eax, [esi + ecx*2 - 0x30]
mov dword [ebp - 0x64], eax
jmp 0x431e76
mov dword [ebp - 0x64], 0xffffffff
mov ecx, dword [ebp - 0x64]
add edi, 2
mov dword [ebp - 0x48], edi
movzx eax, word [edi]
mov esi, 0xff
cmp ax, si
jbe 0x431e44
mov eax, edi
sub eax, dword [ebp - 0x58]
sar eax, 1
cmp dword [ebp - 0x5c], 0
mov dword [ebp - 0x6c], eax
jle 0x431eaf
mov ax, word [edi]
add edi, 2
mov dword [ebp - 0x48], edi
cmp ax, word [ebp - 0x5c]
jne 0x433061
mov ax, word [edi]
add edi, 2
mov dword [ebp - 0x48], edi
cmp ax, 0x29
jne 0x433061
cmp dword [ebp - 0x7c], 0
jne 0x431cdd
mov eax, dword [ebp - 0x68]
test eax, eax
jle 0x431f0a
test ecx, ecx
jle 0x433072
cmp eax, 0x2d
jne 0x431eed
mov eax, dword [edx + 0x38]
sub eax, ecx
inc eax
mov dword [ebp - 0x64], eax
mov ecx, eax
jmp 0x431ef0
add ecx, dword [edx + 0x38]
test ecx, ecx
jle 0x433080
cmp ecx, dword [edx + 0x3c]
jg 0x433080
mov word [ebx + 6], cx
jmp 0x431cdd
mov edi, dword [edx + 0x28]
mov edx, dword [edx + 0x2c]
xor esi, esi
mov dword [ebp - 0x68], edx
test edx, edx
jle 0x431f41
lea esp, [esp]
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x58]
lea eax, [edi + 2]
call fcn.0043a400
test eax, eax
je 0x431f41
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x30]
inc esi
lea edi, [edi + ecx*2]
cmp esi, dword [eax + 0x2c]
jl 0x431f20
cmp esi, dword [ebp - 0x68]
jge 0x431f59
mov dx, word [edi]
inc word [ebx + 4]
mov word [ebx + 6], dx
mov edx, dword [ebp - 0x50]
jmp 0x431cdd
mov edi, dword [ebp - 0x74]
mov eax, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x50]
shr edi, 3
and edi, 1
push eax
call fcn.0042e240
add esp, 4
test eax, eax
jle 0x431f8c
mov ecx, dword [ebp - 0x4c]
inc word [ecx + 4]
mov word [ecx + 6], ax
mov ebx, ecx
mov edx, esi
jmp 0x431cdd
cmp dword [ebp - 0x5c], 0
jne 0x43308e
mov ebx, dword [ebp - 0x58]
cmp word [ebx], 0x52
jne 0x431ff5
mov esi, dword [ebp - 0x6c]
xor ecx, ecx
lea eax, [ecx + 1]
cmp esi, eax
jle 0x431fd6
jmp 0x431fb0
movzx edx, word [ebx + eax*2]
cmp edx, 0x30
jb 0x43309c
cmp edx, 0x39
ja 0x43309c
inc eax
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*2 - 0x30]
cmp eax, esi
jl 0x431fb0
test ecx, ecx
jne 0x431fdb
mov ecx, 0xffff
mov eax, dword [ebp - 0x4c]
mov edx, 0x89
mov word [eax + 4], dx
mov edx, dword [ebp - 0x50]
mov word [eax + 6], cx
mov ebx, eax
jmp 0x431cdd
mov edi, 6
cmp dword [ebp - 0x6c], edi
jne 0x432045
mov ecx, ebx
mov esi, str.DEFINE
movzx eax, word [ecx]
movzx edx, byte [esi]
dec edi
add ecx, 2
inc esi
cmp dx, ax
jne 0x43201c
test edi, edi
jne 0x432006
jmp 0x432028
sbb eax, eax
neg eax
lea eax, [eax + eax - 1]
test eax, eax
jne 0x432045
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
mov eax, 0x8b
mov word [ecx + 4], ax
mov dword [ebp - 0x70], 1
mov ebx, ecx
jmp 0x431cdd
mov eax, dword [ebp - 0x64]
test eax, eax
jle 0x4330aa
mov edx, dword [ebp - 0x50]
cmp eax, dword [edx + 0x3c]
jg 0x4330aa
mov ecx, dword [ebp - 0x4c]
mov word [ecx + 6], ax
mov ebx, ecx
jmp 0x431cdd
inc dword [edx + 0x4c]
mov dword [ebp - 0x60], 0x77
jmp 0x431cd7
add edi, 2
mov dword [ebp - 0x48], edi
cmp word [edi], 0x29
jne 0x4320ad
mov edx, 0x97
mov word [ebx], dx
mov edi, dword [ebp - 0x48]
mov edx, dword [ebp - 0x50]
add ebx, 2
mov dword [ebp - 0x58], 0
mov esi, dword [ebp - 0x58]
add edi, 2
mov dword [ebp - 0x4c], ebx
xor ecx, ecx
jmp 0x42fffc
inc dword [edx + 0x4c]
mov dword [ebp - 0x60], 0x78
jmp 0x431cdd
movzx ecx, word [edi + 2]
mov esi, ecx
mov dword [ebp - 0x9c], esi
cmp esi, 0x21
je 0x4321aa
cmp esi, 0x3d
je 0x432198
mov esi, 0xff
cmp cx, si
ja 0x4330cf
mov ecx, dword [edx + 0xc]
mov esi, dword [ebp - 0x9c]
test byte [esi + ecx], 0x10
je 0x4330cf
xor ecx, ecx
cmp ax, 0x3c
setne cl
add edi, 2
mov dword [ebp - 0x48], edi
movzx eax, word [edi]
mov esi, 0xff
dec ecx
and ecx, 0x17
add ecx, 0x27
mov dword [ebp - 0x5c], ecx
mov ecx, edi
mov dword [ebp - 0x58], ecx
cmp ax, si
ja 0x432145
movzx esi, ax
mov eax, dword [edx + 0xc]
test byte [esi + eax], 0x10
je 0x432145
add edi, 2
mov dword [ebp - 0x48], edi
movzx eax, word [edi]
mov esi, 0xff
cmp ax, si
jbe 0x432126
mov eax, edi
sub eax, ecx
sar eax, 1
cmp dword [ebp - 0x7c], 0
mov dword [ebp - 0x6c], eax
je 0x43229a
mov cx, word [ebp - 0x5c]
cmp word [edi], cx
jne 0x4330fc
cmp dword [edx + 0x2c], 0x2710
jge 0x43310a
lea ecx, [eax + 2]
cmp ecx, dword [edx + 0x30]
jle 0x432446
mov dword [edx + 0x30], ecx
cmp eax, 0x20
jle 0x432446
mov ecx, dword [ebp - 0x54]
mov dword [ecx], 0x30
jmp 0x4331be
inc dword [edx + 0x4c]
mov dword [ebp - 0x60], 0x79
add edi, 4
jmp 0x431cda
inc dword [edx + 0x4c]
mov dword [ebp - 0x60], 0x7a
add edi, 4
jmp 0x431cda
mov dword [ebp - 0x60], 0x7b
jmp 0x431cd7
mov eax, 0x70
mov word [ebx], ax
mov edi, dword [ebp - 0x48]
add edi, 2
mov dword [ebp - 0x48], edi
movzx eax, word [edi]
xor ecx, ecx
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xe0], 1
cmp eax, 0x30
jb 0x432211
cmp ax, 0x39
ja 0x432211
movzx eax, ax
add edi, 2
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*2 - 0x30]
mov dword [ebp - 0x48], edi
movzx eax, word [edi]
cmp eax, 0x30
jae 0x4321f3
cmp word [edi], 0x29
jne 0x4330e0
cmp ecx, 0xff
jg 0x4330ee
mov word [ebx + 2], cx
mov ecx, dword [ebp - 0x48]
sub ecx, dword [edx + 0x18]
xor edx, edx
sar ecx, 1
inc ecx
mov word [ebx + 4], cx
mov word [ebx + 6], dx
mov edi, dword [ebp - 0x48]
add ebx, 8
mov dword [ebp - 0x58], edx
mov esi, edx
mov edx, dword [ebp - 0x50]
add edi, 2
mov dword [ebp - 0x4c], ebx
xor ecx, ecx
jmp 0x42fffc
add edi, 2
mov dword [ebp - 0x48], edi
movzx eax, word [edi]
cmp eax, 0x3d
je 0x432283
cmp eax, 0x3e
je 0x432283
cmp eax, 0x3c
je case.0x431c7c.39
mov ecx, dword [ebp - 0x54]
mov dword [ecx], 0x29
jmp 0x4331be
xor ecx, ecx
cmp eax, 0x3e
sete cl
mov dword [ebp - 0x5c], 0x29
mov dword [ebp - 0x6c], ecx
jmp 0x432b81
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x2c]
mov esi, dword [eax + 0x28]
xor edx, edx
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x68], ecx
cmp ecx, edx
jle 0x4323c8
lea esp, [esp]
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x58]
add ecx, ecx
lea edx, [esi + 2]
mov dword [ebp - 0x64], eax
cmp ecx, 4
jb 0x4322eb
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
cmp eax, dword [edx]
jne 0x4322ef
add dword [ebp - 0x64], 4
sub ecx, 4
add edx, 4
cmp ecx, 4
jae 0x4322d3
test ecx, ecx
je 0x432344
mov eax, dword [ebp - 0x64]
movzx eax, byte [eax]
movzx esi, byte [edx]
sub eax, esi
jne 0x432336
cmp ecx, 1
jbe 0x432341
mov eax, dword [ebp - 0x64]
movzx eax, byte [eax + 1]
movzx esi, byte [edx + 1]
sub eax, esi
jne 0x432336
cmp ecx, 2
jbe 0x432341
mov eax, dword [ebp - 0x64]
movzx eax, byte [eax + 2]
movzx esi, byte [edx + 2]
sub eax, esi
jne 0x432336
cmp ecx, 3
jbe 0x432341
mov ecx, dword [ebp - 0x64]
movzx eax, byte [ecx + 3]
movzx edx, byte [edx + 3]
sub eax, edx
mov esi, dword [ebp - 0x5c]
sar eax, 0x1f
or eax, 1
jmp 0x432346
mov esi, dword [ebp - 0x5c]
xor eax, eax
mov ecx, dword [ebp - 0x50]
test eax, eax
jne 0x43237c
mov eax, dword [ebp - 0x6c]
cmp word [esi + eax*2 + 2], 0
jne 0x432399
mov edx, dword [ecx + 0x38]
movzx eax, word [esi]
inc edx
cmp eax, edx
je 0x432370
test dword [ebp - 0x74], 0x80000
je 0x433118
mov dword [ebp - 0x9c], 1
jmp 0x43237e
js 0x432399
mov eax, dword [ebp - 0x70]
mov edx, dword [ecx + 0x30]
inc eax
lea esi, [esi + edx*2]
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x70], eax
cmp eax, dword [ecx + 0x2c]
jl 0x4322c0
jmp 0x4323bc
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x30]
mov eax, dword [ebp - 0x68]
sub eax, dword [ebp - 0x70]
imul eax, ecx
add eax, eax
push eax
lea ecx, [esi + ecx*2]
push esi
push ecx
call dword [sym.imp.MSVCR100.dll_memmove]
mov edi, dword [ebp - 0x48]
add esp, 0xc
cmp dword [ebp - 0x9c], 0
jne 0x432416
mov eax, dword [ebp - 0x50]
cmp dword [eax + 0x2c], 0
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x70], 0
jle 0x432416
mov edi, edi
cmp ecx, esi
je 0x4323fb
mov edx, dword [eax + 0x38]
movzx ecx, word [ecx]
inc edx
cmp ecx, edx
je 0x433126
mov ecx, dword [ebp - 0x9c]
jmp 0x4323fe
dec dword [ebp - 0x70]
mov edx, dword [eax + 0x30]
lea ecx, [ecx + edx*2]
mov edx, dword [ebp - 0x70]
inc edx
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x70], edx
cmp edx, dword [eax + 0x2c]
jl 0x4323e0
mov eax, dword [ebp - 0x50]
mov cx, word [eax + 0x38]
mov edi, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x58]
inc cx
lea edx, [edi + edi]
push edx
mov word [esi], cx
push eax
lea ecx, [esi + 2]
push ecx
call sub.MSVCR100.dll_memcpy
add esp, 0xc
xor edx, edx
mov word [esi + edi*2 + 2], dx
mov edi, dword [ebp - 0x48]
mov edx, dword [ebp - 0x50]
inc dword [edx + 0x2c]
add edi, 2
mov dword [ebp - 0x48], edi
mov eax, 1
add dword [edx + 0x38], eax
mov cx, word [edx + 0x38]
mov word [ebx + 4], cx
mov dword [ebp - 0x70], eax
jmp 0x431cdd
mov dword [ebp - 0x5c], 0x29
mov dword [ebp - 0x6c], 1
jmp 0x432b81
add edi, 2
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x5c], 0x29
jmp 0x432690
test dword [ebp - 0x74], 0x1000
je 0x43244f
mov dword [ebp - 0x60], 0x7d
jmp 0x431cdd
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x38]
push 0
push edx
push ecx
mov dword [ebp - 0xc4], edi
mov edi, dword [ebp - 0x54]
push edi
lea edx, [ebp - 0xe4]
push edx
lea eax, [ebp - 0x48]
push eax
call fcn.0042d6d0
add esp, 0x18
cmp dword [edi], 0
jne 0x4331bb
xor edx, edx
cmp eax, edx
jne 0x4324e6
mov si, word [ebp - 0xe4]
jmp 0x430153
cmp eax, 0x1a
jne 0x432529
mov edi, dword [ebp - 0x48]
cmp word [edi + 2], 0x5c
jne 0x43250f
cmp word [edi + 4], 0x45
jne 0x43250f
mov ebx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
add edi, 4
add edi, 2
xor ecx, ecx
jmp 0x42fffc
mov ebx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
add edi, 2
mov dword [ebp - 0xac], 1
xor ecx, ecx
jmp 0x42fffc
cmp eax, 0x19
je 0x432ed9
cmp dword [ebp - 0x78], 0xfffffffe
jne 0x432547
lea ecx, [eax - 6]
cmp ecx, 0x10
ja 0x432547
mov dword [ebp - 0x78], 0xffffffff
mov ecx, dword [ebp - 0xa4]
mov dword [ebp - 0xb8], ecx
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0xb0], ecx
mov ecx, dword [ebp - 0x98]
mov dword [ebp - 0xb4], ecx
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0xa8], ecx
cmp eax, 0x1b
jne 0x432b1a
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x24]
mov edi, dword [ebp - 0x48]
add edi, 2
mov dword [ebp - 0x88], ecx
xor ecx, ecx
mov dword [ebp - 0x48], edi
cmp word [edi], 0x3c
movzx eax, word [edi + 2]
setne cl
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x94], edx
dec ecx
and ecx, 0x17
add ecx, 0x27
mov dword [ebp - 0x5c], ecx
cmp eax, 0x2b
je 0x43264b
cmp eax, 0x2d
je 0x43264b
movzx eax, word [edi + 2]
lea edx, [edi + 2]
mov dword [ebp - 0x68], 1
test ax, ax
je 0x432617
cmp ax, word [ebp - 0x5c]
je 0x432639
mov ecx, 0xff
cmp ax, cx
ja 0x432610
mov ecx, dword [ebp - 0x50]
mov ecx, dword [ecx + 0xc]
movzx eax, ax
mov al, byte [eax + ecx]
test al, 4
jne 0x4325fe
mov dword [ebp - 0x68], 0
test al, 0x10
je 0x432617
movzx eax, word [edx + 2]
add edx, 2
test ax, ax
jne 0x4325d7
jmp 0x432617
mov dword [ebp - 0x68], 0
mov dx, word [edx]
cmp dx, word [ebp - 0x5c]
je 0x432639
mov eax, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
add edi, 2
mov dword [eax], 0x39
xor ecx, ecx
jmp 0x42fffc
cmp dword [ebp - 0x68], 0
jne 0x432687
mov dword [ebp - 0x6c], 1
jmp 0x432b7e
movzx eax, word [edi + 4]
lea edx, [edi + 4]
cmp eax, 0x30
jb 0x432669
cmp ax, 0x39
ja 0x432669
movzx eax, word [edx + 2]
add edx, 2
cmp eax, 0x30
jae 0x432657
cmp word [edx], cx
je 0x432687
mov ecx, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
mov dword [ecx], 0x39
add edi, 2
xor ecx, ecx
jmp 0x42fffc
mov ebx, dword [ebp - 0x4c]
add edi, 2
mov dword [ebp - 0x48], edi
movzx eax, word [edi]
mov ecx, eax
cmp ecx, 0x2b
jne 0x432720
add edi, 2
mov dword [ebp - 0x48], edi
movzx eax, word [edi]
cmp eax, 0x30
jb 0x433134
cmp eax, 0x39
ja 0x433134
movzx eax, word [edi]
xor ebx, ebx
cmp eax, 0x30
jb 0x4326e1
cmp ax, 0x39
ja 0x4326e1
movzx eax, ax
add edi, 2
lea edx, [ebx + ebx*4]
lea ebx, [eax + edx*2 - 0x30]
mov dword [ebp - 0x48], edi
movzx eax, word [edi]
cmp eax, 0x30
jae 0x4326c3
mov dx, word [ebp - 0x5c]
cmp word [edi], dx
jne 0x433171
cmp ecx, 0x2d
jne 0x432afe
test ebx, ebx
je 0x43317c
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x38]
sub ecx, ebx
lea ebx, [ecx + 1]
test ebx, ebx
jg 0x432c8e
mov eax, dword [ebp - 0x54]
mov dword [eax], 0xf
jmp 0x4331be
cmp ecx, 0x2d
jne 0x4326b9
movzx edx, word [edi + 2]
cmp edx, 0x30
jb case.0x431c7c.34
cmp edx, 0x39
ja case.0x431c7c.34
add edi, 2
mov dword [ebp - 0x48], edi
jmp 0x4326b9
mov edx, dword [ebp - 0x50]
xor esi, esi
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x9c], esi
lea ecx, [ebp - 0x9c]
cmp ax, 0x29
je 0x4327c2
cmp ax, 0x3a
je 0x4327bc
movzx eax, ax
add edi, 2
sub eax, 0x2d
mov dword [ebp - 0x48], edi
cmp eax, 0x4b
ja case.0x43277a.46
movzx eax, byte [eax + 0x433434]
jmp dword [eax*4 + 0x433410]
lea ecx, [ebp - 0x68]
jmp 0x4327b4
or dword [ecx], 0x80000
or dword [edx + 0x54], 0x400
jmp 0x4327b4
or dword [ecx], 1
jmp 0x4327b4
or dword [ecx], 2
jmp 0x4327b4
or dword [ecx], 4
jmp 0x4327b4
or dword [ecx], 8
jmp 0x4327b4
or dword [ecx], 0x200
jmp 0x4327b4
or dword [ecx], 0x40
movzx eax, word [edi]
cmp eax, 0x29
jne 0x432758
mov esi, dword [ebp - 0x9c]
or esi, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x68]
not ecx
and ecx, esi
cmp word [edi], 0x29
mov dword [ebp - 0xa0], ecx
jne case.0x431c7c.58
mov eax, dword [edx + 0x14]
add eax, 4
cmp ebx, eax
jne 0x432817
mov eax, dword [ebp - 0x7c]
test eax, eax
je 0x4327f2
cmp dword [eax], 4
jne 0x432817
mov dword [edx + 0x50], ecx
mov edx, dword [ebp - 0x114]
mov dword [edx], ecx
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x58], 0
mov esi, dword [ebp - 0x58]
mov dword [ebp - 0x74], ecx
add edi, 2
xor ecx, ecx
jmp 0x42fffc
mov edx, dword [ebp - 0x114]
mov eax, ecx
shr eax, 9
and eax, 1
mov dword [ebp - 0xfc], eax
xor eax, 1
mov dword [ebp - 0xf8], eax
mov eax, ecx
and eax, 1
mov dword [edx], ecx
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x58], 0
mov esi, dword [ebp - 0x58]
mov dword [ebp - 0x74], ecx
add edi, 2
mov dword [ebp - 0xcc], eax
xor ecx, ecx
jmp 0x42fffc
mov eax, 1
mov edx, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x60]
neg edx
sbb edx, edx
lea ecx, [ebp - 0xc0]
and edx, ecx
mov ecx, dword [ebp - 0xf4]
push edx
mov edx, dword [ebp - 0x50]
push edx
push ecx
lea edx, [ebp - 0xc8]
push edx
lea ecx, [ebp - 0xdc]
push ecx
lea edx, [ebp - 0xd0]
push edx
xor edx, edx
cmp esi, 0x81
sete dl
lea ecx, [ebp - 0xec]
push ecx
mov ecx, dword [ebp - 0x70]
add edx, dword [ebp + 0x24]
push edx
mov edx, dword [ebp - 0x94]
push ecx
push edx
push eax
mov eax, dword [ebp - 0x54]
push eax
mov eax, dword [ebp - 0xa0]
lea ecx, [ebp - 0x48]
push ecx
lea edx, [ebp - 0x80]
push edx
push eax
call fcn.00433480
add esp, 0x3c
test eax, eax
je 0x4331bb
cmp esi, 0x7b
jne 0x432965
mov ecx, dword [ebp - 0x50]
mov ebx, dword [ebp - 0x4c]
cmp dword [ecx + 0x38], edi
ja 0x4328f4
mov edx, 0x7c
mov word [ebx], dx
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xd0]
mov edi, dword [ebp - 0x48]
cmp word [edi], 0x29
jne 0x433166
cmp dword [ebp - 0x7c], 0
je 0x4329e6
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ecx]
mov ecx, dword [ebp - 0xc0]
mov edx, 0x7fffffeb
sub edx, eax
lea esi, [ecx - 4]
cmp edx, esi
jl 0x432efa
mov esi, dword [ebp - 0x58]
mov edx, dword [ebp - 0x50]
lea eax, [eax + ecx - 4]
mov ecx, dword [ebp - 0x7c]
mov dword [ecx], eax
mov ecx, 2
mov dword [ebx + 2], 0x720002
mov word [ebx + 6], cx
mov edi, dword [ebp - 0x48]
add ebx, 8
add edi, ecx
mov dword [ebp - 0x4c], ebx
xor ecx, ecx
jmp 0x42fffc
cmp esi, 0x77
jl 0x432975
cmp esi, 0x7a
jg 0x432975
mov eax, dword [ebp - 0x50]
dec dword [eax + 0x4c]
mov ebx, dword [ebp - 0x4c]
cmp esi, 0x81
jne 0x4328f4
cmp dword [ebp - 0x7c], 0
jne 0x4328f4
mov eax, ebx
xor ecx, ecx
movzx edx, word [eax + 2]
lea eax, [eax + edx*2]
inc ecx
cmp word [eax], 0x72
jne 0x432992
mov eax, 0x8b
cmp word [ebx + 4], ax
jne 0x4329be
cmp ecx, 1
jg 0x433150
mov dword [ebp - 0x60], eax
mov esi, eax
jmp 0x4328f4
cmp ecx, 2
jg 0x43315b
cmp ecx, 1
jne 0x4328f4
or edx, 0xffffffff
or eax, edx
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xd0], eax
jmp 0x432900
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x4c], ecx
cmp esi, 0x8b
je 0x4319dd
mov ecx, dword [ebp - 0x98]
mov dword [ebp - 0xb4], ecx
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0xa8], ecx
mov ecx, dword [ebp - 0xa4]
mov dword [ebp - 0xb8], ecx
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xd4], 0
cmp esi, 0x7b
jl 0x432ac8
cmp ecx, 0xfffffffe
jne 0x432a79
test eax, eax
js 0x432a66
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0x78], eax
mov dword [ebp - 0xd4], 1
mov dword [ebp - 0xb0], 0xffffffff
jmp 0x432a9b
mov dword [ebp - 0x78], 0xffffffff
mov dword [ebp - 0xb0], 0xffffffff
jmp 0x432a9b
test eax, eax
js 0x432a9b
test edx, edx
jns 0x432aa3
mov edx, dword [ebp - 0xec]
or eax, dword [ebp - 0x9c]
mov dword [ebp - 0xdc], edx
mov edx, eax
mov dword [ebp - 0xc8], edx
test edx, edx
js 0x4319dd
mov eax, dword [ebp - 0xdc]
mov ebx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x58]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x50]
add edi, 2
mov dword [ebp - 0x98], eax
xor ecx, ecx
jmp 0x42fffc
cmp esi, 0x77
jne 0x4319dd
test edx, edx
js 0x4319dd
mov ecx, dword [ebp - 0xdc]
mov ebx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x58]
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x50]
add edi, 2
xor ecx, ecx
jmp 0x42fffc
cmp ecx, 0x2b
jne 0x432c8e
test ebx, ebx
je 0x433072
mov edx, dword [ebp - 0x50]
add ebx, dword [edx + 0x38]
jmp 0x432c8e
cmp eax, 0x1c
jne 0x432d88
mov edi, dword [ebp - 0x48]
movzx eax, word [edi + 2]
cmp eax, 0x3c
je 0x432b52
cmp eax, 0x27
je 0x432b52
cmp eax, 0x7b
je 0x432b52
mov eax, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
add edi, 2
mov dword [eax], 0x45
xor ecx, ecx
jmp 0x42fffc
add edi, 2
mov dword [ebp - 0x48], edi
movzx eax, word [edi]
mov dword [ebp - 0x6c], edx
cmp eax, 0x3c
jne 0x432b6c
mov dword [ebp - 0x5c], 0x3e
jmp 0x432b7e
xor ecx, ecx
cmp eax, 0x27
setne cl
dec ecx
and ecx, 0xffffffaa
add ecx, 0x7d
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x50]
add edi, 2
mov dword [ebp - 0x48], edi
movzx eax, word [edi]
mov esi, 0xff
mov ecx, edi
mov dword [ebp - 0x58], ecx
cmp ax, si
ja 0x432bbc
mov esi, dword [edx + 0xc]
lea esp, [esp]
movzx eax, ax
test byte [eax + esi], 0x10
je 0x432bbc
add edi, 2
mov dword [ebp - 0x48], edi
movzx eax, word [edi]
mov ebx, 0xff
cmp ax, bx
jbe 0x432ba0
mov ebx, edi
sub ebx, ecx
sar ebx, 1
cmp dword [ebp - 0x7c], 0
je 0x432c22
test ebx, ebx
je 0x433187
mov cx, word [ebp - 0x5c]
cmp word [edi], cx
jne 0x433192
cmp ebx, 0x20
jg 0x43218a
mov eax, dword [ebp - 0x50]
mov edx, dword [eax + 0x1c]
mov esi, dword [ebp - 0x50]
mov dword [eax + 0x1c], edi
mov edi, dword [ebp - 0x74]
mov eax, dword [ebp - 0x58]
shr edi, 3
and edi, 1
push eax
mov dword [ebp - 0xa0], edx
call fcn.0042e240
mov ecx, dword [ebp - 0xa0]
mov ebx, eax
add esp, 4
mov edx, esi
mov dword [edx + 0x1c], ecx
test ebx, ebx
jns 0x432c84
xor ebx, ebx
jmp 0x432c84
mov edi, dword [edx + 0x28]
mov edx, dword [edx + 0x2c]
xor esi, esi
mov dword [ebp - 0x68], edx
test edx, edx
jle 0x432c58
mov edx, dword [ebp - 0x58]
lea eax, [edi + 2]
mov ecx, ebx
call fcn.0043a400
test eax, eax
jne 0x432c49
cmp word [edi + ebx*2 + 2], ax
je 0x432c58
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x30]
inc esi
lea edi, [edi + ecx*2]
cmp esi, dword [eax + 0x2c]
jl 0x432c31
cmp esi, dword [ebp - 0x68]
jge 0x432c62
movzx ebx, word [edi]
jmp 0x432c84
mov edi, dword [ebp - 0x74]
mov edx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x50]
shr edi, 3
and edi, 1
push edx
call fcn.0042e240
mov ebx, eax
add esp, 4
test ebx, ebx
jle 0x43319d
cmp dword [ebp - 0x6c], 0
je 0x432d94
cmp dword [ebp - 0x7c], 0
mov esi, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x50]
mov edi, dword [eax + 0x14]
mov dword [ebp - 0x58], esi
jne 0x432d4e
xor ecx, ecx
mov word [esi], cx
test ebx, ebx
je 0x432cbe
mov edx, eax
mov eax, dword [edx + 0x14]
mov esi, ebx
call fcn.0042e5b0
mov esi, dword [ebp - 0x4c]
mov edi, eax
test edi, edi
jne 0x432d24
mov edi, dword [ebp - 0x74]
mov esi, dword [ebp - 0x50]
shr edi, 3
and edi, 1
push 0
call fcn.0042e240
add esp, 4
test eax, eax
js 0x43308e
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x10]
lea edi, [eax + ebx*2]
lea eax, [edx + ecx*2 - 0xc8]
cmp dword [esi + 0x24], eax
jb 0x432d0a
call fcn.0042d5b0
mov ecx, dword [ebp - 0x54]
mov dword [ecx], eax
test eax, eax
jne 0x4331bb
mov edx, dword [ebp - 0x4c]
sub edx, dword [esi + 0x14]
mov eax, dword [esi + 0x24]
add edx, 2
sar edx, 1
mov word [eax], dx
add dword [esi + 0x24], 2
mov esi, dword [ebp - 0x4c]
jmp 0x432d4e
cmp word [edi + 2], 0
jne 0x432d4e
cmp dword [ebp + 0x24], 0
jg 0x432d4e
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0xf4]
push ecx
push edx
push esi
push edi
call fcn.0042ec40
add esp, 0x10
test eax, eax
jne 0x4331a8
mov ecx, dword [ebp - 0x50]
mov eax, 0x6f
mov word [esi], ax
sub edi, dword [ecx + 0x14]
add esi, 4
sar edi, 1
cmp dword [ebp - 0x78], 0xfffffffe
mov word [esi - 2], di
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0xd4], 0
jne 0x430cae
mov dword [ebp - 0x78], 0xffffffff
jmp 0x430cae
cmp eax, edx
jge 0x432e11
neg eax
mov ebx, eax
cmp dword [ebp - 0x78], 0xfffffffe
jne 0x432da1
mov dword [ebp - 0x78], 0xffffffff
test byte [ebp - 0x74], 1
mov eax, dword [ebp - 0x4c]
mov edx, 0
setne dl
mov dword [ebp - 0x58], eax
add eax, 4
mov dword [ebp - 0x4c], eax
add edx, 0x6d
mov word [eax - 4], dx
mov word [eax - 2], bx
mov eax, 1
cmp ebx, 0x20
jge 0x432dd2
mov ecx, ebx
shl eax, cl
mov ecx, dword [ebp - 0x50]
or dword [ecx + 0x48], eax
cmp ebx, dword [ecx + 0x44]
jle 0x432de0
mov dword [ecx + 0x44], ebx
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x430cae
jmp 0x432df0
movzx ecx, word [eax + 4]
cmp ecx, ebx
je 0x432e03
mov eax, dword [eax]
test eax, eax
jne 0x432df0
jmp 0x430cae
mov edx, 1
mov word [eax + 6], dx
jmp 0x430cae
cmp eax, 0x16
je 0x4331b3
cmp eax, 0xf
je 0x4331b3
cmp eax, 0x10
je 0x4331b3
cmp eax, 5
je 0x432e3b
cmp eax, 4
je 0x432e3b
cmp eax, 1
jne 0x432e4a
mov ecx, dword [ebp - 0x50]
cmp dword [ecx + 0x40], edx
jne 0x432e4a
mov dword [ecx + 0x40], 1
mov ebx, dword [ebp - 0x4c]
lea ecx, [eax - 6]
mov edx, 0x10
cmp edx, ecx
sbb ecx, ecx
not ecx
and ecx, ebx
mov dword [ebp - 0x58], ecx
cmp eax, 0xe
jne 0x432e6a
mov eax, 0xd
mov esi, dword [ebp - 0x58]
mov edx, dword [ebp - 0x50]
mov word [ebx], ax
mov edi, dword [ebp - 0x48]
add ebx, 2
add edi, 2
mov dword [ebp - 0x4c], ebx
xor ecx, ecx
jmp 0x42fffc
mov ecx, dword [ecx + 0x58]
or ecx, dword [ebp - 0xcc]
mov esi, dword [ebp - 0xa4]
movzx eax, word [eax - 2]
mov dword [ebp - 0xb0], edx
mov edx, dword [ebp - 0x98]
mov dword [ebp - 0xb4], edx
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0xb8], esi
mov esi, dword [ebp - 0x58]
mov dword [ebp - 0xa8], edx
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x8c], ecx
add edi, 2
mov dword [ebp - 0x98], eax
xor ecx, ecx
jmp 0x42fffc
mov edi, dword [ebp - 0x48]
mov ebx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
add edi, 2
xor ecx, ecx
jmp 0x42fffc
mov edx, dword [ebp - 0x54]
mov dword [edx], 0x34
jmp 0x4331be
mov eax, dword [ebp - 0x54]
mov dword [eax], 0x14
jmp 0x4331be
mov ecx, dword [ebp - 0x54]
mov dword [ecx], 0x34
jmp 0x4331be
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0xa4]
mov dword [edx], eax
mov edx, dword [ebp - 0x100]
mov eax, dword [ebp - 0x78]
mov dword [edx], eax
mov edx, dword [ebp - 0x108]
mov eax, dword [ebp - 0x98]
mov dword [edx], eax
mov edx, dword [ebp - 0x110]
mov eax, dword [ebp - 0x8c]
mov dword [edx], eax
mov edx, dword [ebp - 0x104]
mov eax, dword [ebp - 0xf0]
mov dword [edx], ebx
mov dword [eax], edi
cmp dword [ebp - 0x7c], ecx
je 0x432f7c
sub ebx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ecx]
mov edx, 0x7fffffeb
sar ebx, 1
sub edx, eax
cmp edx, ebx
jl 0x432efa
add eax, ebx
mov dword [ecx], eax
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00441db6
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x54]
xor edx, edx
cmp word [edi + 2], 0x3a
setne dl
dec edx
and edx, 0xffffffee
add edx, 0x1f
mov dword [eax], edx
jmp 0x4331be
mov ecx, dword [ebp - 0x54]
mov dword [ecx], 0x1f
jmp 0x4331be
mov edx, dword [ebp - 0x54]
mov dword [edx], 0x1e
jmp 0x4331be
mov eax, esi
mov dword [eax], 0x47
jmp 0x4331bb
mov ecx, esi
mov dword [ecx], 7
jmp 0x4331bb
mov edx, dword [ebp - 0x54]
mov dword [edx], 8
jmp 0x4331be
mov eax, dword [ebp - 0x54]
mov dword [eax], 6
jmp 0x4331be
mov ecx, dword [ebp - 0x54]
mov dword [ecx], 9
jmp 0x4331be
mov edx, dword [ebp - 0x54]
mov dword [edx], 0x14
jmp 0x4331be
mov edx, dword [ebp - 0x54]
mov dword [edx], 0x4b
jmp 0x4331be
mov eax, dword [ebp - 0x54]
mov dword [eax], 0x3c
jmp 0x4331be
mov ecx, dword [ebp - 0x54]
mov dword [ecx], 0x3b
jmp 0x4331be
mov edx, dword [ebp - 0x54]
mov dword [edx], 0x42
jmp 0x4331be
mov eax, dword [ebp - 0x54]
mov dword [eax], 0x3b
jmp 0x4331be
mov eax, dword [ebp - 0x54]
sub edi, 2
mov dword [eax], 0x1a
jmp 0x4331be
mov ecx, dword [ebp - 0x54]
mov dword [ecx], 0x3a
jmp 0x4331be
mov edx, dword [ebp - 0x54]
mov dword [edx], 0xf
jmp 0x4331be
mov eax, dword [ebp - 0x54]
mov dword [eax], 0xf
jmp 0x4331bb
mov ecx, dword [ebp - 0x54]
mov dword [ecx], 0xf
jmp 0x4331bb
mov edx, dword [ebp - 0x54]
neg eax
sbb eax, eax
and eax, 0xffffffec
add eax, 0x23
mov dword [edx], eax
jmp 0x4331bb
mov eax, dword [ebp - 0x54]
add edi, 2
mov dword [eax], 0x1c
jmp 0x4331be
mov ecx, dword [ebp - 0x54]
add edi, 2
mov dword [ecx], 0x18
jmp 0x4331be
mov edx, dword [ebp - 0x54]
mov dword [edx], 0x27
jmp 0x4331be
mov eax, dword [ebp - 0x54]
mov dword [eax], 0x26
jmp 0x4331be
mov edx, dword [ebp - 0x54]
mov dword [edx], 0x2a
jmp 0x4331be
mov eax, dword [ebp - 0x54]
mov dword [eax], 0x31
jmp 0x4331be
mov edx, dword [ebp - 0x54]
mov dword [edx], 0x2b
jmp 0x4331be
mov eax, dword [ebp - 0x54]
mov dword [eax], 0x41
jmp 0x4331be
mov ecx, dword [ebp - 0x54]
mov dword [ecx], 0x3f
jmp 0x4331be
mov edx, dword [ebp - 0x54]
mov dword [edx], 0xc
sub edi, 2
jmp 0x4331be
mov eax, dword [ebp - 0x54]
mov dword [eax], 0x36
jmp 0x4331bb
mov ecx, dword [ebp - 0x54]
mov dword [ecx], 0x1b
jmp 0x4331bb
mov edx, dword [ebp - 0x54]
mov dword [edx], 0xe
jmp 0x4331be
mov ecx, dword [ebp - 0x54]
mov dword [ecx], 0x1d
jmp 0x4331be
mov edx, dword [ebp - 0x54]
mov dword [edx], 0x3a
jmp 0x4331be
mov edx, dword [ebp - 0x54]
mov dword [edx], 0x3e
jmp 0x4331be
mov eax, dword [ebp - 0x54]
mov dword [eax], 0x2a
jmp 0x4331be
mov edx, dword [ebp - 0x54]
mov dword [edx], 0xf
jmp 0x4331bb
mov ecx, dword [ebp - 0x54]
mov dword [ecx], 0x28
jmp 0x4331bb
mov edx, edi
mov dword [edx], 0x2d
mov edi, dword [ebp - 0x48]
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 4]
mov dword [eax], edi
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.00441db6
mov esp, ebp
pop ebp
ret