Function at 0x42e6e7
Capabilities:
Parse credit card information

Disassembly:
push ebp
lea ebp, [esp - 0x68]
sub esp, 0xb8
push ebx
push esi
xor ebx, ebx
cmp dword [ebp + 0x74], ebx
mov esi, ecx
push edi
mov dword [ebp + 0x60], esi
jne 0x42e707
mov eax, dword [esi + 0x28]
mov dword [ebp + 0x74], eax
call fcn.0043c057
lea ecx, [ebp + 0x70]
call fcn.0040ea44
test byte [esi + 0xc], 1
je 0x42e726
cmp dword [0x4c8e14], ebx
mov byte [ebp + 0x4f], 1
jg 0x42e72a
mov byte [ebp + 0x4f], 0
mov edi, dword [ebp + 0x70]
cmp word [edi], 0x40
jne 0x42e73c
inc edi
inc edi
mov dword [ebp + 0x70], edi
mov byte [ebp + 0x4f], 0
mov dword [ebp + 0x64], 0x80004001
cmp word [edi], bx
je 0x42f670
and dword [ebp + 0x34], 0
and dword [ebp + 0x50], 0
xor bl, bl
cmp word [edi], 0x2d
mov byte [ebp + 0x5f], 0
je 0x42e950
cmp byte [ebp + 0x4f], 0
je 0x42e7c3
test byte [esi + 0xc], 2
je 0x42e77d
push edi
lea ecx, [ebp + 0x34]
call fcn.00448401
mov eax, dword [eax]
jmp 0x42e790
push 1
push 0
lea eax, [ebp + 0x34]
push eax
push edi
mov ecx, esi
call fcn.0044ed7d
mov eax, dword [ebp + 0x34]
test bl, bl
mov dword [ebp + 0x50], eax
jne 0x42e7b9
test byte [esi + 0xc], 0x14
je 0x42e7b9
xor edi, edi
push edi
push dword [ebp + 0x7c]
mov ecx, esi
push 0x11
push edi
push eax
call fcn.0041c2d3
test byte [esi + 0xc], 0x10
jne 0x42e7c3
mov dword [ebp + 0x50], edi
jmp 0x42e7c3
test byte [esi + 0xc], 8
jne 0x42e7c3
mov byte [ebp + 0x5f], 2
xor edi, edi
test bl, bl
mov dword [ebp + 0x48], edi
jne 0x42e96b
lea ecx, [ebp + 0x70]
mov byte [ebp + 0x43], 0xa
call fcn.0040ea44
lea ecx, [ebp + 0x3c]
call fcn.0043fd9a
mov edi, dword [ebp + 0x70]
mov dword [ebp + 0x38], 0x7d
xor eax, eax
jmp 0x42e7f5
inc edi
inc edi
inc eax
cmp word [edi], 0x5e
je 0x42e7f2
dec eax
test ax, ax
jl 0x42e831
inc eax
movsx esi, ax
mov ecx, dword [ebp + 0x60]
and dword [ebp + 0x70], 0
push 1
push 0
lea eax, [ebp + 0x70]
push eax
push edi
call fcn.0044ed7d
mov eax, dword [ebp + 0x48]
mov edi, dword [ebp + 0x70]
lea ecx, [ebp + 0x70]
mov dword [ebp + 0x48], edi
mov dword [ebp + 0x70], eax
call fcn.00439cfd
dec esi
jne 0x42e805
lea eax, [ebp + 0x58]
push eax
xor esi, esi
mov dword [ebp + 0x58], edi
call fcn.0040549b
mov eax, dword [ebp + 0x58]
sub eax, edi
sar eax, 1
dec eax
pop ecx
mov ecx, edi
js 0x42e9aa
inc eax
cmp word [ecx], 0x25
jne 0x42e858
inc esi
inc ecx
inc ecx
dec eax
jne 0x42e851
cmp si, 2
jl 0x42e9aa
lea eax, [ebp + 0x58]
push eax
mov dword [ebp + 0x58], edi
call fcn.0040549b
mov esi, dword [ebp + 0x58]
pop ecx
push esi
lea ecx, [ebp + 0x54]
call fcn.00448399
push esi
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
mov ecx, dword [ebp + 0x60]
mov ebx, eax
xor eax, eax
push 1
mov dword [ebp + 0x44], eax
push eax
mov word [esi], ax
lea eax, [ebp + 0x44]
push eax
push edi
call fcn.0044ed7d
mov eax, dword [ebp + 0x44]
mov dword [ebp + 0x70], eax
movzx eax, word [eax]
jmp 0x42e8c0
cmp ax, 0x40
jne 0x42e8c7
add dword [ebp + 0x70], 2
mov eax, dword [ebp + 0x70]
mov ax, word [eax]
mov byte [ebp + 0x4f], 0
test ax, ax
jne 0x42e8ac
jmp 0x42e8cd
cmp word [edi], 0x2d
je 0x42e92d
push dword [ebp + 0x70]
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
mov esi, eax
lea eax, [esi + ebx + 3]
push eax
lea ecx, [ebp + 0x48]
call fcn.0043fddf
mov edi, dword [ebp + 0x48]
push esi
push dword [ebp + 0x70]
push edi
call fcn.0040542c
mov eax, dword [ebp + 0x48]
inc ebx
push ebx
push dword [ebp + 0x54]
lea eax, [eax + esi*2]
push eax
call fcn.0040542c
mov eax, dword [ebp + 0x48]
add esp, 0x18
cmp word [eax], 0x5e
lea ecx, [ebp + 0x44]
jne 0x42e99d
dec byte [ebp + 0x43]
js 0x42e989
call fcn.00439cfd
lea ecx, [ebp + 0x54]
call fcn.00439cfd
jmp 0x42e7ee
lea ecx, [ebp + 0x44]
call fcn.00439cfd
lea ecx, [ebp + 0x54]
call fcn.00439cfd
lea ecx, [ebp + 0x3c]
call fcn.00439cfd
lea ecx, [ebp + 0x48]
call fcn.00439cfd
mov esi, dword [ebp + 0x60]
mov bl, byte [edi]
inc edi
inc edi
cmp word [edi], 0x20
mov dword [ebp + 0x70], edi
jne 0x42e764
inc edi
inc edi
mov dword [ebp + 0x70], edi
jmp 0x42e764
cmp dword [ebp + 0x50], edi
je 0x42e981
push edi
push dword [ebp + 0x7c]
mov ecx, esi
push 0x21
push edi
push dword [ebp + 0x50]
call fcn.0041c2d3
mov dword [ebp + 0x64], edi
jmp 0x430146
mov dword [ebp + 0x64], 0x80070057
call fcn.00439cfd
lea ecx, [ebp + 0x54]
jmp 0x42fd61
call fcn.00439cfd
lea ecx, [ebp + 0x54]
call fcn.00439cfd
mov ax, word [edi]
cmp ax, 0x28
jne 0x42e9bd
push 0x29
pop esi
mov word [edi], 0x7b
jmp 0x42e9c6
cmp ax, 0x7b
jne 0x42e9ff
mov esi, dword [ebp + 0x38]
push edi
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
lea eax, [edi + eax*2 - 2]
cmp si, word [eax]
jne 0x42e9da
and word [eax], 0
mov eax, dword [ebp + 0x48]
mov ecx, dword [ebp + 0x60]
and dword [ebp + 0x48], 0
push 1
mov dword [ebp + 0x70], eax
push 0
lea eax, [ebp + 0x48]
push eax
push edi
call fcn.0044dca2
lea ecx, [ebp + 0x70]
call fcn.00439cfd
jmp 0x42ea0d
cmp dword [ebp + 0x48], edi
je 0x42ea0d
push edi
lea ecx, [ebp + 0x48]
call fcn.0044845d
mov eax, dword [ebp + 0x48]
lea ecx, [ebp + 0x70]
mov dword [ebp + 0x70], eax
call fcn.0040ea44
mov esi, dword [ebp + 0x70]
mov ax, word [esi]
cmp ax, 0x23
je 0x42f658
test ax, ax
je 0x42f658
cmp ax, 0x7b
je 0x430166
cmp ax, 0x5b
jne 0x42ea4f
cmp word [esi + 2], 0x5d
je 0x430166
cmp ax, 0x46
mov edi, esi
mov dword [ebp + 0x58], edi
mov ebx, esi
jne 0x42ea78
cmp word [esi + 2], 0x49
jne 0x42ea78
cmp word [esi + 4], 0x4e
jne 0x42ea78
cmp word [esi + 6], 0x44
jne 0x42ea78
cmp word [esi + 8], 0x20
je 0x42ea8c
mov ecx, dword [ebp + 0x60]
push 1
push 0
lea eax, [ebp + 0x3c]
push eax
push esi
call fcn.0044ed7d
mov ebx, dword [ebp + 0x3c]
mov ax, word [esi]
and dword [ebp + 0x54], 0
push 0x22
pop ecx
cmp ax, cx
push 0x7c
mov dword [ebp + 0x44], ecx
pop edx
je 0x42eaa9
cmp ax, dx
mov dword [ebp + 0x44], edx
jne 0x42eb02
push esi
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
mov cx, word [ebp + 0x44]
cmp word [esi], cx
lea eax, [esi + eax*2 - 2]
jne 0x42ead4
mov ecx, dword [ebp + 0x44]
cmp word [eax], cx
jne 0x42ead4
inc edi
inc edi
dec eax
dec eax
inc dword [ebp + 0x54]
cmp word [edi], cx
mov dword [ebp + 0x58], edi
je 0x42eac0
and word [eax + 2], 0
cmp dword [ebp + 0x54], 0
jle 0x42eaee
push ebx
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
sub eax, dword [ebp + 0x54]
and word [ebx + eax*2], 0
lea ecx, [ebp + 0x58]
call fcn.0040ea44
mov edi, dword [ebp + 0x58]
mov eax, edi
sub eax, esi
sar eax, 1
lea ebx, [ebx + eax*2]
lea esi, [ebp + 0x54]
mov dword [ebp + 0x54], edi
call fcn.00411f60
mov eax, dword [ebp + 0x54]
sub eax, edi
sar eax, 1
mov dword [ebp + 0x44], eax
mov dword [ebp + 0x54], ebx
call fcn.00411f60
mov esi, dword [ebp + 0x54]
mov eax, esi
sub eax, ebx
sar eax, 1
push edi
mov dword [ebp + 0x38], eax
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
lea ecx, [ebp + 0x58]
mov dword [ebp + 0x58], esi
call fcn.0040ea44
mov esi, dword [ebp + 0x44]
xor eax, eax
cmp esi, 3
mov dword [ebp + 0x2c], eax
jl 0x42ec0d
cmp esi, 0x7f
jg 0x42ec0d
xor ecx, ecx
mov cx, word [edi]
push ecx
call fcn.00413791
add esp, 4
test al, al
mov al, cl
je 0x42eb6f
and al, 0xdf
jmp 0x42eb76
cmp cx, 0xff
ja 0x42eb7b
lea ecx, [ebp + 0x2d]
jmp 0x42eb85
mov esi, dword [ebp + 0x44]
mov byte [ebp + 0x2d], ch
lea ecx, [ebp + 0x2e]
inc esi
xor edx, edx
mov dx, word [edi + 2]
mov byte [ebp + 0x2c], al
push edx
call fcn.00413791
add esp, 4
test al, al
mov al, dl
je 0x42eba4
and al, 0xdf
mov byte [ecx], al
inc ecx
jmp 0x42ebb2
mov byte [ecx], al
inc ecx
cmp dx, 0xff
jbe 0x42ebb2
mov byte [ecx], dh
inc ecx
inc esi
xor edx, edx
mov dx, word [edi + 4]
push edx
call fcn.00413791
add esp, 4
test al, al
mov al, dl
je 0x42ebce
and al, 0xdf
mov byte [ecx], al
inc ecx
jmp 0x42ebdc
mov byte [ecx], al
inc ecx
cmp dx, 0xff
jbe 0x42ebdc
mov byte [ecx], dh
inc ecx
inc esi
cmp dword [ebp + 0x44], 4
jl 0x42ec0a
xor edx, edx
mov dx, word [edi + 6]
push edx
call fcn.00413791
add esp, 4
test al, al
mov al, dl
je 0x42ebfd
and al, 0xdf
mov byte [ecx], al
jmp 0x42ec0a
cmp dx, 0xff
mov byte [ecx], al
jbe 0x42ec0a
mov byte [ecx + 1], dh
inc esi
mov eax, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x44]
shl esi, 8
or esi, edx
cmp esi, 0x303
jne 0x42ec79
cmp eax, 0x444553
je 0x42ec63
cmp eax, 0x524944
je 0x42ec50
cmp eax, 0x544553
jne 0x42efbe
push dword [ebp + 0x74]
add edi, 6
push edi
push 1
add ebx, 6
mov ecx, dword [ebp + 0x60]
push ebx
call fcn.00422359
jmp 0x42f62b
mov ecx, dword [ebp + 0x60]
push 0
add edi, 6
push edi
call fcn.0046e684
jmp 0x42f62b
mov ecx, dword [ebp + 0x60]
push 0
push dword [ebp + 0x74]
add edi, 6
push edi
call fcn.004558a4
jmp 0x42f62b
cmp esi, 0x606
jne 0x42ecd2
cmp eax, 0x45524854
jne 0x42efbe
push 6
push edi
push str.THREAD
call fcn.0043af58
add esp, 0xc
test al, al
je 0x42efbe
cmp byte [ebp + 0x5f], 0
je 0x42ecbe
mov ecx, dword [ebp + 0x60]
push 0
push dword [ebp + 0x7c]
push 0x11
push 0
push dword [ebp + 0x50]
call fcn.0041c2d3
add edi, 0xc
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x60]
push edi
call fcn.00476c3d
jmp 0x42f62b
cmp esi, 0x404
jne 0x42efbe
mov ecx, 0x4d455449
cmp eax, ecx
ja 0x42f52d
je 0x42f50c
mov ecx, 0x46544547
cmp eax, ecx
ja 0x42f17f
je 0x42f16b
mov ecx, 0x45444948
cmp eax, ecx
ja 0x42ef6d
je 0x42ef56
mov ecx, 0x44494c53
cmp eax, ecx
ja 0x42ee6d
je 0x42ee56
cmp eax, 0x43454a45
je 0x42ee45
cmp eax, 0x43455845
je 0x42ee2c
cmp eax, 0x434c4143
je 0x42ee19
cmp eax, 0x4350544e
je 0x42ee08
cmp eax, 0x44414552
je 0x42edcb
cmp eax, 0x44414f4c
je 0x42ed86
cmp eax, 0x44415049
jne 0x42efbe
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x60]
push dword [ebp + 0x74]
add edi, 8
push edi
call fcn.0047e583
jmp 0x42f62b
cmp byte [ebp + 0x5f], 0
je 0x42eda0
mov ecx, dword [ebp + 0x60]
push 0
push dword [ebp + 0x7c]
push 0x11
push 0
push dword [ebp + 0x50]
call fcn.0041c2d3
add edi, 8
lea ecx, [ebp + 0x74]
mov dword [ebp + 0x74], edi
call fcn.0040ea44
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
call fcn.004309f9
mov ecx, dword [ebp + 0x60]
push 1
mov dword [ebp + 0x64], eax
call fcn.0046496c
jmp 0x4300d5
push 4
push ebx
push str.READ
call fcn.0043af58
add esp, 0xc
test al, al
je 0x42efe1
cmp dword [ebp + 0x38], 4
je 0x42edf4
cmp word [ebx + 8], 0x2d
jne 0x42efe1
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add edi, 8
push edi
call fcn.004659c7
jmp 0x42f62b
mov ecx, dword [ebp + 0x60]
add ebx, 8
push ebx
call fcn.0044a64a
jmp 0x42f62b
mov ecx, dword [ebp + 0x60]
push 0
add edi, 8
push edi
call fcn.0047a9ac
jmp 0x42f62b
mov ecx, dword [ebp + 0x60]
xor eax, eax
push eax
push eax
push eax
push eax
add edi, 8
push edi
push ecx
push eax
call fcn.00409c61
jmp 0x42f62b
mov ecx, dword [ebp + 0x60]
add ebx, 8
push ebx
call fcn.0044f1f3
jmp 0x42f62b
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x60]
push dword [ebp + 0x74]
add edi, 8
push edi
call fcn.0047e12c
jmp 0x42f62b
cmp eax, 0x444d4152
je 0x42ef46
cmp eax, 0x444e4152
je 0x42ef32
cmp eax, 0x444e4553
je 0x42ef25
cmp eax, 0x444e4946
je 0x42eeea
cmp eax, 0x44524854
je 0x42eec8
cmp eax, 0x4542414c
jne 0x42efbe
cmp dword [ebp + 0x74], 0
je 0x42efe1
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x60]
push dword [ebp + 0x74]
add edi, 8
push edi
call fcn.00486144
jmp 0x42f62b
cmp byte [ebp + 0x5f], 0
je 0x42eee2
mov ecx, dword [ebp + 0x60]
push 0
push dword [ebp + 0x7c]
push 0x11
push 0
push dword [ebp + 0x50]
call fcn.0041c2d3
add edi, 8
jmp 0x42ecc1
cmp byte [ebp + 0x5f], 0
je 0x42ef04
mov ecx, dword [ebp + 0x60]
push 0
push dword [ebp + 0x7c]
push 0x11
push 0
push dword [ebp + 0x50]
call fcn.0041c2d3
mov ecx, dword [ebp + 0x60]
push dword [ebp + 0x7c]
add edi, 8
cmp word [edi], 0x7c
jne 0x42ef20
push 0
push edi
call fcn.00424ee9
jmp 0x42f62b
push dword [ebp + 0x78]
jmp 0x42ef15
push dword [ebp + 0x58]
call fcn.00416fb4
jmp 0x42f8ab
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add ebx, 8
push ebx
call fcn.004699a6
jmp 0x42f62b
push dword [ebp + 0x58]
mov ecx, dword [ebp + 0x60]
call fcn.0041987c
jmp 0x42f62b
push 1
push str.Hide
push dword [ebp + 0x58]
call fcn.00411a82
add esp, 0xc
jmp 0x42f62b
mov ecx, 0x454d4f48
cmp eax, ecx
ja 0x42f06f
je 0x42f05e
cmp eax, 0x45444f43
je 0x42f04b
cmp eax, 0x45474150
je 0x42f03e
cmp eax, 0x454c4946
je 0x42f02c
cmp eax, 0x454d414e
je 0x42f438
cmp eax, 0x454d4954
je 0x42f00f
cmp eax, 0x454d4f43
je 0x42f0d1
xor esi, esi
mov dword [ebp + 0x64], esi
mov ax, word [ebx]
cmp ax, 0x24
mov dword [ebp + 0x58], ebx
jne 0x42ff6a
push esi
push esi
add ebx, 2
push ebx
push dword [ebp + 0x60]
call fcn.0042ba3a
mov eax, dword [ebp + 0x64]
test eax, eax
je 0x42eff0
mov ecx, dword [ebp + 0x60]
mov ecx, dword [ecx + 0x30]
mov dword [ecx], eax
xor edi, edi
cmp eax, edi
jge 0x4300dd
push eax
lea eax, [ebp - 0x50]
push str.0x_p
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
jmp 0x4300e9
cmp dword [ebp + 0x74], 0
je 0x42efe1
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x60]
push dword [ebp + 0x74]
add edi, 8
push edi
call fcn.00478da4
jmp 0x42f62b
mov ecx, dword [ebp + 0x60]
push 0
push dword [ebp + 0x58]
call fcn.00416083
jmp 0x42f62b
push dword [ebp + 0x58]
call fcn.00420c6e
jmp 0x42f8ab
mov ecx, dword [ebp + 0x60]
push 0
add edi, 8
push edi
call fcn.00459883
jmp 0x42f62b
mov ecx, dword [ebp + 0x60]
add edi, 8
push edi
call fcn.0046dfda
jmp 0x42f62b
cmp eax, 0x45534142
je 0x42f15a
cmp eax, 0x45544144
je 0x42f146
cmp eax, 0x45544953
je 0x42f132
cmp eax, 0x45544f4e
je 0x42f0d1
cmp eax, 0x45564948
je 0x42f0bd
cmp eax, 0x455a4953
jne 0x42efbe
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add ebx, 8
push ebx
call fcn.00445456
jmp 0x42f62b
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add ebx, 8
push ebx
call fcn.00462244
jmp 0x42f62b
add ebx, 8
lea ecx, [ebp + 0x74]
mov dword [ebp + 0x74], ebx
call fcn.0040ea44
mov edi, dword [ebp + 0x74]
mov ax, word [edi]
cmp ax, 0x31
jb 0x42f0f1
cmp ax, 0x39
jbe 0x42f105
mov esi, dword [sym.imp.SHLWAPI.dll_StrCmpNIW]
push 2
push 0x4b4458
push edi
call esi
test eax, eax
jne 0x42f10e
mov byte [0x4c72a0], 1
jmp 0x42f129
cmp word [edi], 0x30
je 0x42f122
push 3
push 0x4b4450
push edi
call esi
test eax, eax
jne 0x42f129
mov byte [0x4c72a0], 0
and dword [ebp + 0x64], 0
jmp 0x42efe1
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add edi, 8
push edi
call fcn.00462927
jmp 0x42f62b
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add ebx, 8
push ebx
call fcn.00469134
jmp 0x42f62b
mov ecx, dword [ebp + 0x60]
add edi, 8
push edi
call fcn.0047a454
jmp 0x42f62b
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add edi, 8
push edi
call fcn.0047e9db
jmp 0x42f62b
mov ecx, 0x4b4d554e
cmp eax, ecx
ja 0x42f336
je 0x42f329
mov ecx, 0x49474552
cmp eax, ecx
ja 0x42f27c
je 0x42f269
cmp eax, 0x46545550
je 0x42f255
cmp eax, 0x46574246
je 0x42f245
cmp eax, 0x47414d49
je 0x42f228
cmp eax, 0x48534148
je 0x42f215
cmp eax, 0x48544150
je 0x42f205
cmp eax, 0x49444152
jne 0x42efbe
cmp dword [ebp + 0x74], 0
je 0x42efe1
cmp edx, 4
jne 0x42efe1
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x60]
push dword [ebp + 0x74]
add edi, 8
push edi
call fcn.0047d825
jmp 0x42f62b
push dword [ebp + 0x58]
mov ecx, dword [ebp + 0x60]
call fcn.0041d2dd
jmp 0x42f62b
mov ecx, dword [ebp + 0x60]
push 0
add ebx, 8
push ebx
call fcn.0047c00c
jmp 0x42f62b
cmp edx, 4
jne 0x42efe1
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add edi, 8
push edi
call fcn.00486b27
jmp 0x42f62b
push dword [ebp + 0x58]
mov ecx, dword [ebp + 0x60]
call fcn.004158d5
jmp 0x42f62b
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add edi, 8
push edi
call fcn.00469a4f
jmp 0x42f62b
mov ecx, dword [ebp + 0x60]
push 0
add edi, 8
push edi
call fcn.00458340
jmp 0x42f62b
sub eax, 0x49564544
je 0x42f319
sub eax, 0x901
je 0x42f308
sub eax, 0xec070e
je 0x42f2f4
sub eax, 0x100f9f9
je 0x42f2e1
sub eax, 7
je 0x42f2cd
sub eax, 0x1f8f0
jne 0x42efbe
cmp dword [ebp + 0x74], 0
je 0x42efe1
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x60]
push dword [ebp + 0x74]
add edi, 8
push edi
call fcn.00482117
jmp 0x42f62b
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add ebx, 8
push ebx
call fcn.00479083
jmp 0x42f62b
mov ecx, dword [ebp + 0x60]
push 0
add ebx, 8
push ebx
call fcn.0046c82f
jmp 0x42f62b
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add ebx, 8
push ebx
call fcn.0044bf2d
jmp 0x42f62b
push dword [ebp + 0x74]
add edi, 8
push edi
push 0
add ebx, 8
jmp 0x42ec42
push dword [ebp + 0x58]
mov ecx, dword [ebp + 0x60]
call fcn.0042868a
jmp 0x42f62b
push dword [ebp + 0x58]
call fcn.004112ae
jmp 0x42f8ab
mov ecx, 0x4c4c4143
cmp eax, ecx
ja 0x42f406
je 0x42f3e5
cmp eax, 0x4b4e494c
je 0x42f3d4
cmp eax, 0x4b4e4c46
je 0x42f3c0
cmp eax, 0x4b534944
je 0x42f3af
cmp eax, 0x4b544f48
je 0x42f39c
cmp eax, 0x4c424154
je 0x42f388
cmp eax, 0x4c454853
jne 0x42efbe
push dword [ebp + 0x58]
call fcn.004235b6
jmp 0x42f8ab
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add edi, 8
push edi
call fcn.0048a248
jmp 0x42f62b
mov ecx, dword [ebp + 0x60]
push 0
add edi, 8
push edi
call fcn.00419140
jmp 0x42f62b
mov ecx, dword [ebp + 0x60]
add ebx, 8
push ebx
call fcn.00484747
jmp 0x42f62b
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add edi, 8
push edi
call fcn.00461e1f
jmp 0x42f62b
mov ecx, dword [ebp + 0x60]
add edi, 8
push edi
call fcn.004166a1
jmp 0x42f62b
mov eax, dword [ebp + 0x58]
cmp word [eax], 0x24
jne 0x4300a9
push edi
push 0
add eax, 2
push eax
push dword [ebp + 0x60]
call fcn.0042ba3a
jmp 0x42f62b
cmp eax, 0x4c4c4157
je 0x42f4ff
cmp eax, 0x4c4c494b
je 0x42f488
cmp eax, 0x4c525453
je 0x42f474
cmp eax, 0x4c534441
je 0x42f460
cmp eax, 0x4d414554
je 0x42f44c
cmp eax, 0x4d414e46
jne 0x42efbe
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add ebx, 8
push ebx
call fcn.00461d37
jmp 0x42f62b
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x60]
add edi, 8
push edi
call fcn.0041ac3f
jmp 0x4300d2
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add ebx, 8
push ebx
call fcn.00463d02
jmp 0x42f62b
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add ebx, 8
push ebx
call fcn.00467521
jmp 0x42f62b
xor ebx, ebx
add edi, 8
inc ebx
cmp word [edi], 0x2a
jne 0x42f4a7
inc edi
inc edi
cmp word [edi], 0x2a
jne 0x42f4a7
push 2
pop ebx
add edi, ebx
cmp word [edi], 0x2a
je 0x42f49f
lea ecx, [ebp + 0x58]
mov dword [ebp + 0x58], edi
call fcn.0040ea44
mov edi, dword [ebp + 0x58]
mov ax, word [edi]
cmp ax, 0x5c
je 0x42f4ed
cmp ax, 0x40
je 0x42f4ed
mov esi, str.svr
push esi
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
push edi
push esi
call fcn.0043af01
add esp, 0xc
test al, al
jne 0x42f4ed
mov ecx, dword [ebp + 0x60]
push edi
call fcn.00417980
jmp 0x42f62b
mov ecx, dword [ebp + 0x60]
push ebx
push dword [ebp + 0x74]
push edi
call fcn.00452675
jmp 0x42f62b
push dword [ebp + 0x58]
call fcn.0041981d
jmp 0x42f8ab
cmp dword [ebp + 0x74], 0
je 0x42efe1
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x60]
push dword [ebp + 0x74]
add edi, 8
push edi
call fcn.00489ce0
jmp 0x42f62b
mov ecx, 0x534f504c
cmp eax, ecx
ja 0x42f935
je 0x42f91f
mov ecx, 0x504e5055
cmp eax, ecx
ja 0x42f78b
je 0x42f77d
mov ecx, 0x4e554f4d
cmp eax, ecx
ja 0x42f6b5
je 0x42f6a1
cmp eax, 0x4d495444
je 0x42f68d
cmp eax, 0x4d524f46
je 0x42f67c
cmp eax, 0x4e49414d
je 0x42f5dc
cmp eax, 0x4e495053
je 0x42f5c8
cmp eax, 0x4e495753
je 0x42f5ad
cmp eax, 0x4e524353
jne 0x42efbe
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add ebx, 8
push ebx
call fcn.00462594
jmp 0x42f62b
cmp dword [ebp + 0x74], 0
je 0x42efe1
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add ebx, 8
push ebx
call fcn.0048680d
jmp 0x42f62b
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x60]
push dword [ebp + 0x74]
add edi, 8
push edi
call fcn.0047def6
jmp 0x42f62b
cmp byte [ebp + 0x5f], 0
je 0x42f5f6
mov ecx, dword [ebp + 0x60]
push 0
push dword [ebp + 0x7c]
push 0x11
push 0
push dword [ebp + 0x50]
call fcn.0041c2d3
mov esi, dword [ebp + 0x58]
jmp 0x42f611
push 3
push esi
push 0x4af60c
call fcn.0043af01
add esp, 0xc
test al, al
jne 0x42f61d
inc esi
inc esi
cmp word [esi], 0x2a
je 0x42f5fb
cmp word [esi], 0
jne 0x42f633
add ebx, 8
push ebx
mov ecx, 0x4c9048
call fcn.0042ad85
mov dword [ebp + 0x64], eax
jmp 0x42efe1
mov esi, 0x4c8c30
push str.PECMD
mov ecx, esi
call fcn.0044845d
push ebx
mov ecx, esi
call fcn.0043fe06
mov eax, dword [ebp + 0x60]
mov word [eax + 0x88], 2
lea ecx, [ebp + 0x3c]
call fcn.00439cfd
lea ecx, [ebp + 0x48]
call fcn.00439cfd
lea ecx, [ebp + 0x34]
call fcn.00439cfd
xor eax, eax
pop edi
pop esi
pop ebx
add ebp, 0x68
leave
ret 0x10
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add ebx, 8
push ebx
call fcn.00460689
jmp 0x42f62b
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x60]
push dword [ebp + 0x74]
add edi, 8
push edi
call fcn.0047e385
jmp 0x42f62b
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add edi, 8
push edi
call fcn.0048760c
jmp 0x42f62b
cmp eax, 0x4e574f44
je 0x42f770
cmp eax, 0x4f474f4c
je 0x42f762
cmp eax, 0x4f4d454d
je 0x42f741
cmp eax, 0x50494350
je 0x42f72d
cmp eax, 0x504c4548
je 0x42f6ff
cmp eax, 0x504d4554
jne 0x42efbe
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add ebx, 8
push ebx
call fcn.004649da
jmp 0x42f62b
push 5
push 0x12e
push dword [0x4c8c2c]
call dword [sym.imp.KERNEL32.DLL_FindResourceW]
test eax, eax
je 0x42f658
mov ecx, dword [ebp + 0x60]
push 0
add ebx, 8
push ebx
call fcn.0042b7d1
jmp 0x42f62b
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add edi, 8
push edi
call fcn.004749dd
jmp 0x42f62b
cmp dword [ebp + 0x74], 0
je 0x42efe1
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x60]
push dword [ebp + 0x74]
add edi, 8
push edi
call fcn.0047d459
jmp 0x42f62b
add ebx, 8
push ebx
call fcn.0042dfcb
jmp 0x42f8ab
push dword [ebp + 0x58]
call fcn.00417fb7
jmp 0x42f8ab
add ebx, 8
push ebx
call fcn.0044f852
jmp 0x42f8ab
mov ecx, 0x5254534c
cmp eax, ecx
ja 0x42f876
je 0x42f862
sub eax, 0x504f4f4c
je 0x42f82e
sub eax, 0x3f9f8
je 0x42f81e
sub eax, 0x1edf90c
je 0x42f800
sub eax, 0x41105
je 0x42f7f2
sub eax, 0x3f0f1
je 0x42f7de
sub eax, 7
jne 0x42efbe
push dword [ebp + 0x58]
mov ecx, dword [ebp + 0x60]
call fcn.0041d2b5
jmp 0x42f62b
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add ebx, 8
push ebx
call fcn.00460bba
jmp 0x42f62b
add edi, 8
push edi
call fcn.00411414
jmp 0x42f8ab
cmp dword [ebp + 0x74], 0
je 0x42efe1
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add ebx, 8
push ebx
call fcn.0047db00
jmp 0x42f62b
push dword [ebp + 0x58]
mov ecx, dword [ebp + 0x60]
call fcn.0041fa44
jmp 0x42f62b
cmp byte [ebp + 0x5f], 0
je 0x42f848
mov ecx, dword [ebp + 0x60]
push 0
push dword [ebp + 0x7c]
push 0x11
push 0
push dword [ebp + 0x50]
call fcn.0041c2d3
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x60]
push dword [ebp + 0x78]
add edi, 8
push dword [ebp + 0x74]
push edi
call fcn.0041bd77
jmp 0x42f62b
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add ebx, 8
push ebx
call fcn.004676ee
jmp 0x42f62b
sub eax, 0x5254534d
je 0x42f90b
sub eax, 5
je 0x42f8f7
dec eax
je 0x42f8f3
sub eax, 0xedee01
je 0x42f8d5
sub eax, 0x50df8
je 0x42f8b1
sub eax, 0x70606
jne 0x42efbe
add edi, 8
push edi
call fcn.00411406
pop ecx
jmp 0x42f62b
mov ecx, dword [ebp + 0x60]
xor eax, eax
cmp dword [ebp + 0x50], eax
sete al
add ebx, 8
or eax, dword [ebp + 0x7c]
push eax
push ebx
call fcn.0041c5e5
and dword [ebp + 0x50], 0
mov dword [ebp + 0x64], eax
jmp 0x42efe1
cmp dword [ebp + 0x74], 0
je 0x42efe1
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add ebx, 8
push ebx
call fcn.0048a0d5
jmp 0x42f62b
push 1
jmp 0x42f921
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add ebx, 8
push ebx
call fcn.0046783f
jmp 0x42f62b
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add ebx, 8
push ebx
call fcn.004687ea
jmp 0x42f62b
push 0
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add edi, 8
push edi
call fcn.00467987
jmp 0x42f62b
mov ecx, 0x5453494c
cmp eax, ecx
ja 0x42fda9
je 0x42fd7f
mov ecx, 0x54494e49
cmp eax, ecx
ja 0x42fa1e
je 0x42fa0e
cmp eax, 0x534f5052
je 0x42f9fa
cmp eax, 0x53504954
je 0x42f9e6
cmp eax, 0x53504d43
je 0x42f9d2
cmp eax, 0x5353454d
je 0x42f9be
cmp eax, 0x54494157
je 0x42f9ae
cmp eax, 0x54494445
jne 0x42efbe
cmp dword [ebp + 0x74], 0
je 0x42efe1
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x60]
push dword [ebp + 0x74]
add edi, 8
push edi
call fcn.0047d03b
jmp 0x42f62b
push dword [ebp + 0x58]
mov ecx, dword [ebp + 0x60]
call fcn.00424eff
jmp 0x42f62b
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add edi, 8
push edi
call fcn.00475f10
jmp 0x42f62b
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add ebx, 8
push ebx
call fcn.004574ae
jmp 0x42f62b
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add edi, 8
push edi
call fcn.00470d95
jmp 0x42f62b
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add edi, 8
push edi
call fcn.00468130
jmp 0x42f62b
push dword [ebp + 0x58]
mov ecx, dword [ebp + 0x60]
call fcn.00422668
jmp 0x42f62b
cmp eax, 0x54495257
je 0x42fd6b
cmp eax, 0x54495845
je 0x42fa99
cmp eax, 0x544d4644
je 0x42fa85
cmp eax, 0x544e4950
je 0x42fa71
cmp eax, 0x544e4f46
je 0x42fa64
cmp eax, 0x54524150
jne 0x42efbe
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add ebx, 8
push ebx
call fcn.0045b8ac
jmp 0x42f62b
push dword [ebp + 0x58]
call fcn.004196a5
jmp 0x42f8ab
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add edi, 8
push edi
call fcn.00462dd7
jmp 0x42f62b
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add ebx, 8
push ebx
call fcn.0044d2ef
jmp 0x42f62b
lea ecx, [ebx + 8]
mov dx, word [ecx]
cmp dx, 0x3d
jne 0x42fb2d
xor esi, esi
add ebx, 0xa
lea ecx, [ebp + 0x74]
mov dword [ebp + 0x64], esi
mov dword [ebp + 0x70], esi
mov dword [ebp + 0x74], ebx
call fcn.0040ea44
push dword [ebp + 0x74]
push str.error
call fcn.0043af97
test al, al
pop ecx
pop ecx
je 0x42fadc
mov ecx, dword [ebp + 0x60]
mov eax, dword [ecx + 0x30]
mov eax, dword [eax]
jmp 0x42fb13
lea eax, [ebp + 0x70]
push eax
lea eax, [ebp + 0x74]
push eax
call fcn.0044b46e
test eax, eax
pop ecx
pop ecx
jg 0x42fb0d
mov eax, dword [ebp + 0x74]
cmp word [eax], si
je 0x42fb0d
mov ecx, dword [ebp + 0x60]
push esi
push 0xffffffffffffffff
push esi
push eax
call fcn.0040fd4e
cmp eax, esi
je 0x42fb0d
mov eax, dword [eax + 4]
jmp 0x42fb10
mov eax, dword [ebp + 0x70]
mov ecx, dword [ebp + 0x60]
mov edx, dword [ecx + 0x30]
mov dword [edx], eax
mov dword [ecx + 0x8c], eax
mov dword [ebp + 0x64], eax
mov byte [ecx + 0x8a], 1
jmp 0x42eff0
mov eax, edx
call fcn.0040ea2b
test al, al
jne 0x42fb41
test dx, dx
jne 0x42efe1
mov dword [ebp + 0x78], ecx
lea ecx, [ebp + 0x78]
call fcn.0040ea44
mov edi, dword [ebp + 0x60]
mov eax, dword [edi + 0x8c]
lea ecx, [ebp + 0x70]
mov dword [ebp + 0x54], eax
xor ebx, ebx
call fcn.0043fd9a
push 0x2c
lea eax, [ebp + 0x70]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.004429d8
mov eax, dword [ebp + 0x78]
add esp, 0xc
cmp word [eax], 0x2c
jne 0x42fb92
add dword [ebp + 0x78], 2
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0044b46e
pop ecx
pop ecx
mov ebx, eax
mov eax, dword [ebp + 0x70]
cmp word [eax], 0
jne 0x42fba2
push 0x40
jmp 0x42fcfa
push eax
push 0x4b4428
call fcn.0043af97
test al, al
pop ecx
pop ecx
je 0x42fbbb
xor esi, esi
inc esi
jmp 0x42fcfb
push dword [ebp + 0x70]
push 0x4b1fa4
call fcn.0043af97
test al, al
pop ecx
pop ecx
jne 0x42fbb3
push dword [ebp + 0x70]
push str.FILE
call fcn.0043af97
test al, al
pop ecx
pop ecx
jne 0x42fbf4
push dword [ebp + 0x70]
push 0x4b2784
call fcn.0043af97
test al, al
pop ecx
pop ecx
je 0x42fbfb
push 2
jmp 0x42fcfa
push dword [ebp + 0x70]
push str.FORX
call fcn.0043af97
test al, al
pop ecx
pop ecx
jne 0x42fc21
push dword [ebp + 0x70]
push 0x4b4414
call fcn.0043af97
test al, al
pop ecx
pop ecx
je 0x42fc28
push 4
jmp 0x42fcfa
push dword [ebp + 0x70]
push str.LOOP
call fcn.0043af97
test al, al
pop ecx
pop ecx
jne 0x42fc4e
push dword [ebp + 0x70]
push 0x4b4408
call fcn.0043af97
test al, al
pop ecx
pop ecx
je 0x42fc55
push 8
jmp 0x42fcfa
push dword [ebp + 0x70]
push 0x4afd68
call fcn.0043af97
test al, al
pop ecx
pop ecx
jne 0x42fc7b
push dword [ebp + 0x70]
push str.BLOCK
call fcn.0043af97
test al, al
pop ecx
pop ecx
je 0x42fc7f
push 0x10
jmp 0x42fcfa
push dword [ebp + 0x70]
push str.ToWIN
call fcn.0043af97
test al, al
pop ecx
pop ecx
je 0x42fc99
mov esi, 0x80
jmp 0x42fcfb
push dword [ebp + 0x70]
push 0x4b43f4
call fcn.0043af97
test al, al
pop ecx
pop ecx
je 0x42fccb
push 1
push dword [ebp + 0x74]
mov esi, 0x80
or word [edi + 0x88], si
push 0x4af5ac
mov ecx, edi
call fcn.00452675
jmp 0x42fcfb
push dword [ebp + 0x70]
push str.CONTINUE
call fcn.0043af97
test al, al
pop ecx
pop ecx
je 0x42fce5
mov esi, 0x100
jmp 0x42fcfb
push dword [ebp + 0x70]
push str.BREAK
call fcn.0043af97
test al, al
pop ecx
pop ecx
je 0x42fd5e
push 0x20
pop esi
or word [edi + 0x88], si
xor esi, esi
cmp ebx, esi
jle 0x42fd20
mov eax, dword [edi + 0x30]
mov ecx, dword [ebp + 0x54]
mov dword [eax], ecx
mov eax, dword [ebp + 0x54]
mov dword [edi + 0x8c], eax
mov byte [edi + 0x8a], 1
cmp byte [ebp + 0x5f], 0
je 0x42fd37
push esi
push dword [ebp + 0x7c]
mov ecx, edi
push 0x11
push esi
push dword [ebp + 0x50]
call fcn.0041c2d3
lea ecx, [ebp + 0x70]
call fcn.00439cfd
lea ecx, [ebp + 0x3c]
call fcn.00439cfd
lea ecx, [ebp + 0x48]
call fcn.00439cfd
lea ecx, [ebp + 0x34]
call fcn.00439cfd
mov eax, esi
jmp 0x42f672
lea ecx, [ebp + 0x70]
call fcn.00439cfd
jmp 0x42efe1
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add edi, 8
push edi
call fcn.004666fa
jmp 0x42f62b
cmp dword [ebp + 0x74], 0
je 0x42efe1
cmp edx, 4
jne 0x42efe1
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x60]
push dword [ebp + 0x74]
add edi, 8
push edi
call fcn.0047dc5c
jmp 0x42f62b
mov ecx, 0x56524553
cmp eax, ecx
ja 0x42fe73
je 0x42fe63
sub eax, 0x54554853
je 0x42fe56
sub eax, 0x2fcf3
je 0x42fe42
sub eax, 0xe
je 0x42fe31
sub eax, 0xf5fff9
je 0x42fe20
sub eax, 0x10cfa
je 0x42fe00
sub eax, 0x102f1ff
jne 0x42efbe
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add ebx, 8
push ebx
call fcn.00460fee
jmp 0x42f62b
cmp dword [ebp + 0x74], 0
je 0x42efe1
mov ecx, dword [ebp + 0x60]
push 0
push dword [ebp + 0x74]
add ebx, 8
push ebx
call fcn.004865a5
jmp 0x42f62b
mov ecx, dword [ebp + 0x60]
add edi, 8
push edi
call fcn.0046e252
jmp 0x42f62b
mov ecx, dword [ebp + 0x60]
add edi, 8
push edi
call fcn.0042e172
jmp 0x42f62b
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add ebx, 8
push ebx
call fcn.00461c4d
jmp 0x42f62b
push dword [ebp + 0x58]
call fcn.004180dc
jmp 0x42f8ab
push dword [ebp + 0x58]
mov ecx, dword [ebp + 0x60]
call fcn.00414f83
jmp 0x42f62b
cmp eax, 0x574f4853
je 0x42ff56
cmp eax, 0x574f5242
je 0x42ff40
cmp eax, 0x58454649
je 0x42ff05
cmp eax, 0x58524f46
je 0x42fed1
cmp eax, 0x59434552
je 0x42fec0
cmp eax, 0x59454b48
jne 0x42efbe
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x60]
push dword [ebp + 0x74]
add edi, 8
push edi
call fcn.00478f45
jmp 0x42f62b
mov ecx, dword [ebp + 0x60]
add ebx, 8
push ebx
call fcn.0044f4be
jmp 0x42f62b
cmp byte [ebp + 0x5f], 0
je 0x42feeb
mov ecx, dword [ebp + 0x60]
push 0
push dword [ebp + 0x7c]
push 0x11
push 0
push dword [ebp + 0x50]
call fcn.0041c2d3
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x60]
push dword [ebp + 0x78]
add edi, 8
push dword [ebp + 0x74]
push edi
call fcn.0047381f
jmp 0x42f62b
cmp byte [ebp + 0x5f], 0
je 0x42ff1f
mov ecx, dword [ebp + 0x60]
push 0
push dword [ebp + 0x7c]
push 0x11
push 0
push dword [ebp + 0x50]
call fcn.0041c2d3
mov ecx, dword [ebp + 0x60]
push dword [ebp + 0x7c]
add edi, 8
cmp word [edi], 0x7c
jne 0x42ff3b
push 0
push edi
call fcn.00424ed3
jmp 0x42f62b
push dword [ebp + 0x78]
jmp 0x42ff30
mov ecx, dword [ebp + 0x60]
push 0
push dword [ebp + 0x74]
add edi, 8
push edi
call fcn.00457cc0
jmp 0x42f62b
push dword [ebp + 0x74]
mov ecx, dword [ebp + 0x60]
add ebx, 8
push ebx
call fcn.004823c1
jmp 0x42f62b
cmp ax, si
je 0x42efe1
push 0x40
pop ecx
cmp ax, cx
mov dword [ebp + 0x54], esi
mov dword [ebp + 0x78], esi
jne 0x42ff8a
add ebx, 2
mov dword [ebp + 0x54], ecx
mov dword [ebp + 0x58], ebx
mov ecx, dword [ebp + 0x58]
xor eax, eax
mov ax, word [ecx]
cmp ax, 0x2a
je 0x42ffa4
cmp ax, 0x2d
je 0x42ffa4
cmp ax, 0x2b
jne 0x42ffa7
mov dword [ebp + 0x78], eax
mov ebx, dword [ebp + 0x60]
mov eax, dword [ebx + 0x1c]
mov dword [ebp + 0x30], eax
lea eax, [ebp + 0x30]
push eax
lea eax, [ebp + 0x38]
push eax
push ecx
mov ecx, ebx
mov dword [ebp + 0x38], esi
call fcn.0042380e
mov eax, dword [ebp + 0x78]
or eax, dword [ebp + 0x54]
test ax, ax
jne 0x4300ae
cmp dword [ebp + 0x38], esi
jge 0x4300ae
push dword [ebp + 0x44]
lea ecx, [ebp + 0x78]
push edi
call fcn.004483b6
mov eax, dword [ebp + 0x44]
cmp eax, esi
jle 0x43000d
lea ecx, [ebp + 0x64]
push ecx
lea eax, [edi + eax*2]
push eax
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push ebx
call fcn.0040e58c
add esp, 0x14
test al, al
jne 0x4300a1
push 1
push esi
lea eax, [ebp + 0x3c]
push eax
push dword [ebp + 0x70]
mov ecx, ebx
call fcn.0044ed7d
mov eax, dword [ebp + 0x3c]
lea ecx, [ebp + 0x58]
mov dword [ebp + 0x58], eax
call fcn.0040ea44
mov edi, dword [ebp + 0x58]
push esi
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp + 0x54]
push eax
mov dword [ebp + 0x54], edi
mov dword [ebp + 0x38], esi
call fcn.0041a38c
add esp, 0xc
push dword [ebp + 0x38]
lea ecx, [ebp + 0x70]
push dword [ebp + 0x54]
call fcn.004483b6
lea eax, [ebp + 0x70]
push eax
mov word [ebp + 0x76], si
call fcn.0040f22a
cmp eax, 1
pop ecx
mov ecx, ebx
jne 0x430084
push edi
call fcn.004309f9
lea ecx, [ebp + 0x70]
mov dword [ebp + 0x64], eax
call fcn.00439cfd
lea ecx, [ebp + 0x78]
call fcn.00439cfd
jmp 0x4300d5
push esi
push esi
push esi
push 1
lea eax, [ebp + 0x76]
push eax
push ebx
push dword [ebp + 0x3c]
call fcn.00409c61
lea ecx, [ebp + 0x70]
mov dword [ebp + 0x64], eax
call fcn.00439cfd
lea ecx, [ebp + 0x78]
jmp 0x42fd61
mov ebx, dword [ebp + 0x60]
xor esi, esi
cmp byte [ebp + 0x5f], 0
je 0x4300c5
push esi
push dword [ebp + 0x7c]
mov ecx, ebx
push 0x11
push esi
push dword [ebp + 0x50]
call fcn.0041c2d3
push dword [ebp + 0x74]
mov ecx, ebx
push dword [ebp + 0x58]
call fcn.0042df82
mov dword [ebp + 0x64], eax
mov eax, dword [ebp + 0x64]
jmp 0x42eff0
cdq
push edx
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.0048ca08
mov esi, dword [ebp + 0x60]
add esp, 0xc
test byte [esi + 9], 0xf
jne 0x430105
lea eax, [ebp - 0x50]
push eax
push 0x4b286c
mov ecx, esi
call fcn.0043f62b
lea eax, [ebp - 0x50]
push eax
push 0x4b2868
mov ecx, esi
call fcn.0043f62b
cmp dword [0x4c8e14], edi
mov byte [0x4c8ef0], 1
jle 0x43013b
cmp dword [ebp + 0x50], edi
je 0x43013b
push edi
push dword [ebp + 0x7c]
mov ecx, esi
push edi
push dword [ebp + 0x64]
push dword [ebp + 0x50]
call fcn.0041c2d3
lea ecx, [ebp + 0x3c]
call fcn.00439cfd
mov esi, dword [ebp + 0x60]
test byte [esi + 0xd], 1
je 0x43015e
push dword [ebp + 0x34]
call fcn.00439c31
push dword [ebp + 0x48]
call fcn.00439c31
pop ecx
pop ecx
mov esi, dword [ebp + 0x64]
jmp 0x42fd47
mov edi, dword [ebp + 0x60]
movzx eax, word [edi + 0x2c]
push 0
push eax
push esi
call fcn.0041192a
add esp, 0xc
or esi, 1
push esi
mov ecx, edi
call fcn.00477362
mov esi, eax
jmp 0x42fd3f