Function at 0x42c9cc
Capabilities:
Encode data using base64
Get common file path
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push ebp
lea ebp, [esp - 0x68]
sub esp, 0x194
push ebx
mov bl, byte [ebp + 0x78]
and dword [ebp + 0x78], 1
push esi
push edi
push dword [ebp + 0x74]
and bl, 0xf0
lea ecx, [ebp - 0x68]
mov byte [ebp - 0x3d], bl
call fcn.0044e827
mov eax, dword [ebp + 0x74]
or dword [ebp + 4], 0xffffffff
or dword [ebp + 0xc], 0xffffffff
xor esi, esi
lea ecx, [ebp + 0x74]
mov dword [ebp - 0x3c], eax
mov dword [ebp + 0x20], esi
mov dword [ebp - 8], esi
call fcn.0040fa1e
lea ecx, [ebp + 0x18]
mov byte [ebp + 0x47], 0xff
mov byte [ebp + 0x46], 0xff
mov byte [ebp + 0x4a], 0
mov byte [ebp + 0x52], 0
mov byte [ebp + 0x67], 0
mov byte [ebp + 0x50], 0
mov byte [ebp + 0x2c], 0
mov byte [ebp + 0x2d], 0
mov byte [ebp - 0xe], 0
mov byte [ebp + 0x2e], 0
mov byte [ebp + 0x51], 0xff
mov byte [ebp + 0x1d], 1
mov byte [ebp + 0x48], 0
mov byte [ebp + 0x3b], 0
mov dword [ebp - 0xc], 0xffff0000
mov dword [ebp - 0x14], esi
mov byte [ebp + 0x1e], 0
call fcn.00444f6c
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x94], esi
call fcn.00444f6c
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c5200
mov word [ebp - 0x12c], si
call fcn.00446fac
add esp, 0xc
test al, al
jne 0x42ca91
test bl, bl
mov byte [ebp + 0x3a], al
je 0x42ca95
mov byte [ebp + 0x3a], 1
test bl, bl
setne byte [ebp + 0x2b]
cmp byte [ebp + 0x3a], 0
mov byte [ebp + 0x2f], 0
je 0x42caad
mov byte [ebp + 0x47], 0
mov byte [ebp + 0x46], 1
mov eax, dword [ebp + 0x74]
cmp word [eax], 0x2d
mov byte [ebp + 0x5b], 0x2a
jne 0x42cabf
mov al, byte [eax]
mov byte [ebp + 0x5b], al
push 0xda8
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x64], esi
mov dword [ebp + 0x34], esi
call fcn.00444e15
push dword [ebp - 0x74]
call fcn.0043e731
mov ebx, dword [ebp - 0x74]
lea edi, [ebx + 0x1bc]
lea eax, [edi + 0x1ac]
mov dword [ebp - 0x48], eax
lea eax, [ebx + 0x504]
mov dword [ebp], eax
pop ecx
lea ecx, [eax + 0x6b0]
add eax, 0x6c0
mov dword [ebp - 0x38], eax
add eax, 0x20
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp + 0x74]
movzx edx, word [eax]
mov dword [ebp - 0x84], ecx
movsx ecx, byte [ebp + 0x5b]
cmp edx, ecx
mov dword [ebp + 8], edi
mov byte [ebp + 0x4b], 0
mov dword [ebp - 0x1c], esi
jne 0x42d129
movzx edx, word [eax + 2]
movsx ecx, byte [ebp + 0x5b]
cmp edx, ecx
jne 0x42d10b
add eax, 4
mov dword [ebp + 0x74], eax
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c7494
call fcn.00446fac
add esp, 0xc
test al, al
je 0x42cb65
mov dword [ebp + 0x78], 1
jmp 0x42d0f1
push 2
lea eax, [ebp + 0x74]
push eax
push 0x4c7490
call fcn.00446fac
add esp, 0xc
test al, al
je 0x42cb85
mov byte [ebp + 0x47], 1
jmp 0x42d0f1
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4c62d0
call fcn.00446fac
add esp, 0xc
test al, al
je 0x42cba5
mov byte [ebp + 0x47], 0
jmp 0x42d0f1
push 4
lea eax, [ebp + 0x74]
push eax
push str.nrcd
call fcn.00446fac
add esp, 0xc
test al, al
je 0x42cbc5
mov byte [ebp + 0x46], 2
jmp 0x42d0f1
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4c7484
call fcn.00446fac
add esp, 0xc
test al, al
je 0x42cbe5
mov byte [ebp + 0x46], 0
jmp 0x42d0f1
mov eax, dword [ebp + 0x74]
mov cx, word [eax]
or cx, 0x20
cmp cx, 0x71
jne 0x42cd71
mov cx, word [eax + 2]
or cx, 0x20
cmp cx, 0x64
jne 0x42cd71
add eax, 4
mov dword [ebp + 0x74], eax
push esi
lea eax, [ebp + 0x74]
push eax
push 0x4c2892
call fcn.00446fac
add esp, 0xc
test al, al
je 0x42cc30
mov byte [ebp + 0x67], 1
jmp 0x42d0f1
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c7480
call fcn.00446fac
add esp, 0xc
test al, al
je 0x42cc50
mov byte [ebp + 0x67], 0x23
jmp 0x42d0f1
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c6330
call fcn.00446fac
add esp, 0xc
test al, al
je 0x42cc70
mov byte [ebp + 0x67], 0x2a
jmp 0x42d0f1
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c747c
call fcn.00446fac
add esp, 0xc
test al, al
je 0x42cc90
mov byte [ebp + 0x67], 0x3e
jmp 0x42d0f1
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c7478
call fcn.00446fac
add esp, 0xc
test al, al
je 0x42ccb0
mov byte [ebp + 0x67], 0x24
jmp 0x42d0f1
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c7474
call fcn.00446fac
add esp, 0xc
test al, al
je 0x42ccd0
mov byte [ebp + 0x67], 0x40
jmp 0x42d0f1
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c7470
call fcn.00446fac
add esp, 0xc
test al, al
je 0x42ccf0
mov byte [ebp + 0x67], 0x3d
jmp 0x42d0f1
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c746c
call fcn.00446fac
add esp, 0xc
test al, al
je 0x42cd10
mov byte [ebp + 0x67], 0x3c
jmp 0x42d0f1
push 1
push dword [ebp + 0x74]
push str.:____
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x42cd56
add dword [ebp + 0x74], 2
mov eax, dword [ebp + 0x74]
mov dword [ebp - 0x6c], eax
lea eax, [ebp + 0x74]
push eax
call fcn.00405b76
mov eax, dword [ebp + 0x74]
cmp word [eax], si
pop ecx
je 0x42cd49
mov word [eax], si
add dword [ebp + 0x74], 2
mov eax, dword [ebp - 0x6c]
cmp word [eax], si
je 0x42cda8
mov dword [ebp - 0x64], eax
jmp 0x42cda8
sub dword [ebp + 0x74], 4
cmp byte [ebp + 0x5b], 0x2a
jne 0x42d0e7
mov edx, dword [ebp + 0x74]
xor ecx, ecx
mov cx, word [edx]
jmp 0x42d0e2
push 4
push eax
push 0x4c7460
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x42cdb5
add dword [ebp + 0x74], 8
mov eax, dword [ebp + 0x74]
mov dword [ebp + 0x34], eax
lea eax, [ebp + 0x74]
push eax
call fcn.00405b76
pop ecx
mov eax, dword [ebp + 0x74]
cmp word [eax], si
je 0x42cda8
mov word [eax], si
add dword [ebp + 0x74], 2
lea ecx, [ebp + 0x74]
call fcn.0040fa1e
jmp 0x42d0f1
push 2
lea eax, [ebp + 0x74]
push eax
push 0x4c745c
call fcn.00446fac
add esp, 0xc
test al, al
je 0x42cdd8
mov dword [ebp - 0xc], 1
jmp 0x42d0f1
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4c7458
call fcn.00446fac
add esp, 0xc
test al, al
je 0x42cdf7
mov dword [ebp - 0xc], esi
jmp 0x42d0f1
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4c7454
call fcn.00446fac
add esp, 0xc
test al, al
je 0x42ce17
mov byte [ebp + 0x2c], 1
jmp 0x42d0f1
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4c7450
call fcn.00446fac
add esp, 0xc
test al, al
je 0x42ce37
mov byte [ebp + 0x2d], 1
jmp 0x42d0f1
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c6c0c
call fcn.00446fac
add esp, 0xc
test al, al
je 0x42ce57
mov byte [ebp - 0xe], 1
jmp 0x42d0f1
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4c2f48
call fcn.00446fac
add esp, 0xc
test al, al
je 0x42ce77
mov byte [ebp + 0x48], 1
jmp 0x42d0f1
push 2
lea eax, [ebp + 0x74]
push eax
push 0x4c744c
call fcn.00446fac
add esp, 0xc
test al, al
je 0x42ce97
mov byte [ebp + 0x1e], 1
jmp 0x42d0f1
push 4
lea eax, [ebp + 0x74]
push eax
push str.bool
call fcn.00446fac
add esp, 0xc
test al, al
je 0x42ceb7
mov byte [ebp + 0x48], 2
jmp 0x42d0f1
push 5
push dword [ebp + 0x74]
push str.sret:
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x42ced7
add dword [ebp + 0x74], 2
mov byte [ebp + 0x2e], 1
jmp 0x42ceed
push 4
push dword [ebp + 0x74]
push 0x4c7434
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x42cf68
add dword [ebp + 0x74], 8
mov eax, dword [ebp + 0x74]
mov dword [ebp - 0x18], eax
lea eax, [ebp + 0x74]
push eax
call fcn.00405b76
mov eax, dword [ebp - 0x18]
mov ax, word [eax]
cmp ax, 0x7e
pop ecx
je 0x42cf5d
cmp ax, 0x40
je 0x42cf5d
mov eax, dword [ebp + 0x74]
sub eax, dword [ebp - 0x18]
lea ecx, [ebp + 0x18]
sar eax, 1
push eax
push dword [ebp - 0x18]
call fcn.00445090
mov ecx, dword [ebp + 0x70]
push esi
lea eax, [ebp + 0x18]
push eax
call fcn.00402ef7
push dword [ebp + 0x18]
mov byte [ebp + 0x52], 1
push 0x4c2f70
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x42cda8
mov eax, dword [ebp + 0x18]
mov byte [ebp + 0x52], 3
mov word [eax], si
jmp 0x42cda8
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
jmp 0x42cd99
push 5
push dword [ebp + 0x74]
push str.vret:
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x42cfe8
add dword [ebp + 0x74], 0xa
mov eax, dword [ebp + 0x74]
mov dword [ebp - 4], eax
lea eax, [ebp + 0x74]
push eax
call fcn.00405b76
mov eax, dword [ebp + 0x74]
sub eax, dword [ebp - 4]
pop ecx
sar eax, 1
push eax
push dword [ebp - 4]
lea ecx, [ebp - 0x28]
call fcn.0044e844
lea ecx, [ebp + 0x74]
call fcn.0040fa1e
mov ecx, dword [ebp + 0x70]
push esi
lea eax, [ebp - 0x28]
push eax
call fcn.00402ef7
mov ecx, dword [ebp + 0x70]
push esi
push 0xffffffffffffffff
push esi
push dword [ebp - 0x28]
call fcn.00410e94
cmp eax, esi
je 0x42cfdb
mov eax, dword [eax + 4]
mov byte [ebp + 0x4b], 1
mov dword [ebp - 0x84], eax
lea ecx, [ebp - 0x28]
call fcn.0043e825
jmp 0x42d0f1
push 6
push dword [ebp + 0x74]
push str.ivret:
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x42d040
add dword [ebp + 0x74], 0xc
mov eax, dword [ebp + 0x74]
mov dword [ebp - 4], eax
lea eax, [ebp + 0x74]
push eax
call fcn.00405b76
mov eax, dword [ebp + 0x74]
sub eax, dword [ebp - 4]
pop ecx
sar eax, 1
push eax
push dword [ebp - 4]
lea ecx, [ebp - 0x44]
call fcn.00445090
lea ecx, [ebp + 0x74]
call fcn.0040fa1e
mov ecx, dword [ebp + 0x70]
push esi
lea eax, [ebp - 0x44]
push eax
call fcn.00402ef7
jmp 0x42d0f1
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c62dc
call fcn.00446fac
add esp, 0xc
test al, al
je 0x42d060
mov byte [ebp + 0x50], 1
jmp 0x42d0f1
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4c7420
call fcn.00446fac
add esp, 0xc
test al, al
je 0x42d081
mov byte [ebp + 0x51], 2
mov byte [ebp + 0x1d], 2
jmp 0x42d0f1
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4c741c
call fcn.00446fac
add esp, 0xc
test al, al
je 0x42d0a2
mov byte [ebp + 0x51], 4
mov byte [ebp + 0x1d], 4
jmp 0x42d0f1
push 6
lea eax, [ebp + 0x74]
push eax
push str.putref
call fcn.00446fac
add esp, 0xc
test al, al
je 0x42cd5a
mov byte [ebp + 0x51], 8
mov byte [ebp + 0x1d], 8
jmp 0x42d0f1
mov eax, ecx
call fcn.0043e785
test al, al
jne 0x42d0e7
cmp cx, 0x2c
je 0x42d105
add dword [ebp + 0x74], 2
mov eax, dword [ebp + 0x74]
mov cx, word [eax]
cmp cx, si
jne 0x42d0c7
lea eax, [ebp + 0x74]
push eax
call fcn.00409344
pop ecx
mov eax, dword [ebp + 0x74]
movzx edx, word [eax]
movsx ecx, byte [ebp + 0x5b]
cmp edx, ecx
je 0x42cb2c
jmp 0x42d10b
lea eax, [edx - 4]
mov dword [ebp + 0x74], eax
cmp byte [ebp + 0x2c], 0
je 0x42d129
mov ecx, dword [ebp + 0x70]
push 0xffffffffffffff9c
push 0x4c1a3c
push esi
push eax
call fcn.0045a521
mov esi, eax
jmp 0x42f6eb
lea ecx, [ebp - 0xa4]
mov dword [ebp + 0x14], esi
call fcn.004451da
mov eax, dword [ebp + 0x7c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp + 0x60], eax
mov eax, dword [ebp + 0x74]
mov dword [edi], eax
mov eax, dword [ebp + 0x74]
push 0x2c
mov dword [ecx], eax
push dword [ebp + 0x74]
mov dword [ebp - 0x88], edi
mov dword [ebp + 0x3c], 1
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, esi
mov dword [ebp + 0x40], eax
je 0x42d175
sub eax, dword [ebp - 0x3c]
sar eax, 1
add dword [ebp + 0x40], 2
mov dword [ebp + 4], eax
mov eax, dword [ebp + 0x40]
cmp eax, esi
mov ecx, dword [ebp - 0x48]
mov dword [edi + 4], eax
mov dword [ecx + 4], eax
je 0x42d19d
push 0xc
push eax
push str._LoadLibrary
call fcn.0043fc19
add esp, 0xc
test al, al
mov byte [ebp + 0x53], 1
jne 0x42d1a1
mov byte [ebp + 0x53], 0
cmp dword [ebp + 0x40], esi
je 0x42d1c0
push 0xf
push dword [ebp + 0x40]
push str._GetProcAddress
call fcn.0043fc19
add esp, 0xc
test al, al
mov byte [ebp + 0x49], 1
jne 0x42d1c4
mov byte [ebp + 0x49], 0
cmp dword [ebp + 0x40], esi
je 0x42d1e3
push 0xc
push dword [ebp + 0x40]
push str._FreeLibrary
call fcn.0043fc19
add esp, 0xc
test al, al
mov byte [ebp + 0x5a], 1
jne 0x42d1e7
mov byte [ebp + 0x5a], 0
mov al, byte [ebp + 0x5a]
or al, byte [ebp + 0x49]
or al, byte [ebp + 0x53]
mov byte [ebp + 0x2e], al
mov eax, dword [ebp + 0x40]
cmp eax, esi
je 0x42d219
cmp word [eax], 0x2a
jne 0x42d219
movzx eax, word [eax + 2]
cmp ax, 0x2c
je 0x42d213
call fcn.0040fa34
test al, al
je 0x42d219
mov byte [ebp + 0x1f], 1
jmp 0x42d239
cmp byte [ebp + 0x3a], 0
mov byte [ebp + 0x1f], 0
jne 0x42d239
cmp byte [ebp + 0x2b], 0
jne 0x42d239
cmp byte [ebp + 0x53], 0
jne 0x42d239
cmp byte [ebp + 0x5a], 0
mov byte [ebp + 0x1c], 1
je 0x42d23d
mov byte [ebp + 0x1c], 0
mov al, byte [ebp + 0x49]
or al, byte [ebp + 0x53]
je 0x42d249
or byte [ebp + 0x1e], 0x10
cmp byte [ebp + 0x2d], 0
mov dword [ebp - 0x18], esi
jne 0x42d360
cmp byte [ebp + 0x1c], 0
je 0x42d360
mov eax, dword [ebp + 0x7c]
cmp eax, esi
mov dword [ebp + 0x60], eax
jne 0x42d270
mov eax, dword [ebp + 0x74]
mov dword [ebp + 0x60], eax
push 0x2c
push dword [ebp + 0x60]
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, esi
mov dword [ebp + 0x60], eax
je 0x42d28d
mov word [eax], si
mov eax, dword [ebp + 0x60]
inc eax
inc eax
mov dword [ebp + 0x60], eax
cmp dword [ebp + 0x34], esi
je 0x42d324
lea eax, [ebp + 0x60]
push eax
call fcn.00405b76
mov eax, dword [ebp + 0x60]
cmp word [eax], si
pop ecx
je 0x42d2af
mov word [eax], si
add dword [ebp + 0x60], 2
lea ecx, [ebp + 0x60]
call fcn.0040fa1e
mov dword [ebp + 0x3c], 2
jmp 0x42d31a
cmp dword [ebp + 0x3c], 0x6a
jge 0x42d360
mov ecx, dword [ebp + 0x34]
mov dx, word [ecx]
cmp dx, si
je 0x42d2e0
add ecx, 2
cmp word [ecx], si
je 0x42d2e0
mov dword [ebp + 0x34], ecx
mov dword [ebp - 4], eax
xor eax, eax
cmp dx, 0x7e
setne al
dec eax
and eax, 0xfffffee8
add eax, 0x5a5
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 4]
push eax
call fcn.0041a4ff
mov ecx, dword [ebp + 0x3c]
mov dword [ebp + 0x60], eax
mov eax, dword [ebp - 4]
add esp, 0xc
inc dword [ebp + 0x3c]
mov dword [edi + ecx*4], eax
mov eax, dword [ebp + 0x60]
cmp word [eax], si
jne 0x42d2c0
jmp 0x42d360
mov dword [ebp + 0x3c], 1
cmp eax, esi
je 0x42d360
mov ecx, dword [ebp + 0x3c]
cmp ecx, 2
jl 0x42d33a
mov dword [edi + ecx*4], eax
inc dword [ebp + 0x3c]
push 0x2c
push dword [ebp + 0x60]
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, esi
mov dword [ebp + 0x60], eax
je 0x42d35a
mov word [eax], si
mov eax, dword [ebp + 0x60]
inc eax
inc eax
mov dword [ebp + 0x60], eax
cmp dword [ebp + 0x3c], 0x6a
jl 0x42d32b
mov eax, dword [ebp + 0x40]
cmp eax, esi
mov dword [ebp - 0x70], esi
mov dword [ebp - 4], esi
je 0x42d371
mov word [eax - 2], si
cmp byte [ebp + 0x1f], 0
jne 0x42d38f
cmp eax, esi
je 0x42d38f
cmp word [eax], 0x2a
jne 0x42d38f
inc dword [ebp + 0x20]
inc eax
inc eax
cmp word [eax], 0x2a
je 0x42d381
mov dword [ebp + 0x40], eax
xor ecx, ecx
cmp eax, esi
mov dword [ebp + 0x4c], ecx
je 0x42d402
cmp dword [ebp + 0x34], esi
je 0x42d3f2
mov edx, dword [ebp + 0x40]
jmp 0x42d3b8
xor eax, eax
mov ax, word [edx]
cmp ax, 0x2c
je 0x42d3bd
call fcn.0043e785
test al, al
jne 0x42d3bd
inc edx
inc edx
cmp word [edx], si
jne 0x42d3a2
cmp word [edx], si
je 0x42d402
lea ecx, [ebp + 0x4c]
mov dword [ebp + 0x4c], edx
call fcn.0040fa1e
mov eax, dword [ebp + 0x4c]
cmp word [eax], 0x2c
jne 0x42d3df
add dword [ebp + 0x4c], 2
call fcn.0040fa1e
mov eax, dword [ebp + 0x4c]
cmp word [eax], si
jne 0x42d3ea
mov dword [ebp + 0x4c], esi
mov word [edx], si
mov ecx, dword [ebp + 0x4c]
jmp 0x42d402
push 0x2c
push dword [ebp + 0x40]
call dword [sym.imp.SHLWAPI.dll_StrChrW]
mov ecx, eax
mov dword [ebp + 0x4c], ecx
mov eax, dword [ebp + 0x74]
cmp word [eax], si
jne 0x42d41a
cmp byte [ebp + 0x2e], 0
jne 0x42d41a
mov esi, 0x80070057
jmp 0x42f6cd
cmp dword [ebp + 0x34], esi
jne 0x42d433
cmp ecx, esi
je 0x42d433
cmp word [ecx], si
je 0x42d433
mov word [ecx], si
mov ecx, dword [ebp + 0x4c]
inc ecx
inc ecx
mov dword [ebp + 0x4c], ecx
mov edi, dword [ebp + 0x40]
cmp edi, esi
je 0x42d4aa
push 0x2e
push edi
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, esi
je 0x42d4a7
mov word [eax], si
inc eax
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp + 0x30], eax
lea eax, [ebp - 0x20]
push eax
call fcn.00405b76
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp + 0x30]
pop ecx
mov byte [ebp + 0x3b], 1
je 0x42d4a7
cmp word [eax], si
je 0x42d470
mov word [eax], si
mov eax, dword [ebp + 0x30]
cmp word [eax], 0x3f
jne 0x42d481
add dword [ebp + 0x30], 2
mov byte [ebp + 0x2f], 2
mov eax, dword [ebp + 0x30]
mov dword [ebp - 8], eax
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp + 0x30]
push eax
mov byte [ebp + 0x3b], 3
call fcn.004412d1
test eax, eax
pop ecx
pop ecx
je 0x42d4a7
cmp dword [ebp + 0xc], esi
jl 0x42d4a7
mov byte [ebp + 0x3b], 7
mov ecx, dword [ebp + 0x4c]
mov al, byte [ebp + 0x52]
and al, 2
mov byte [ebp + 0x13], al
je 0x42d4c0
cmp edi, esi
je 0x42d4c0
cmp word [edi], si
jne 0x42d4c0
mov dword [ebp + 0x40], esi
test al, al
je 0x42d548
cmp ecx, esi
je 0x42d548
cmp dword [ebp + 0x34], esi
je 0x42d52a
mov edx, ecx
xor eax, eax
jmp 0x42d4eb
cmp ax, 0x2c
je 0x42d4f3
call fcn.0043e785
test al, al
jne 0x42d4f3
inc ecx
inc ecx
mov dword [ebp + 0x4c], ecx
mov ax, word [ecx]
cmp ax, si
jne 0x42d4d7
sub ecx, edx
sar ecx, 1
push ecx
push edx
lea ecx, [ebp + 0x18]
call fcn.00445090
mov eax, dword [ebp + 0x4c]
cmp word [eax], si
je 0x42d545
lea ecx, [ebp + 0x4c]
mov edx, eax
call fcn.0040fa1e
mov eax, dword [ebp + 0x4c]
cmp word [eax], 0x2c
jne 0x42d525
add dword [ebp + 0x4c], 2
call fcn.0040fa1e
mov word [edx], si
jmp 0x42d53d
mov ecx, dword [ebp + 0x70]
push esi
push 0x2c
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp + 0x4c]
push eax
call fcn.00439aaa
mov eax, dword [ebp + 0x4c]
cmp word [eax], si
jne 0x42d548
mov dword [ebp + 0x4c], esi
push 0x20a
lea ecx, [ebp - 0x60]
mov dword [ebp + 0x5c], esi
mov dword [ebp + 0x30], esi
mov dword [ebp + 0x54], esi
mov byte [ebp + 0x2c], 0xff
call fcn.00444f8a
cmp byte [ebp + 0x46], 0
mov byte [ebp - 0xd], 0
jg 0x42d57a
push dword [ebp - 0x60]
push 0x208
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
cmp byte [ebp + 0x53], 0
mov eax, dword [ebp + 0x4c]
je 0x42d59b
cmp eax, esi
je 0x42d59b
cmp word [eax], 0x5e
jne 0x42d59b
push 0x2a
pop edx
cmp word [eax + 2], dx
jne 0x42d59e
xor edi, edi
inc edi
jmp 0x42d5a0
push 0x2a
pop edx
xor edi, edi
cmp byte [ebp + 0x53], 0
je 0x42d5bc
cmp eax, esi
je 0x42d5bc
cmp word [eax], 0x5e
jne 0x42d5bc
cmp word [eax + 2], dx
je 0x42d5bc
mov byte [ebp + 0x2e], 1
jmp 0x42d5c4
cmp edi, esi
mov byte [ebp + 0x2e], 0
je 0x42d5ce
push 2
pop edi
add eax, edi
mov dword [ebp + 0x4c], eax
jmp 0x42d5d1
push 2
pop edi
cmp eax, esi
je 0x42d6c3
cmp word [eax], 0x3c
jne 0x42d6c3
add eax, edi
mov byte [ebp + 0x5b], 1
mov dword [ebp + 0x4c], eax
cmp byte [ebp + 0x53], 0
je 0x42d6f1
cmp byte [ebp + 0x50], 0
jne 0x42d6f1
mov ecx, dword [ebp + 0x18]
mov cx, word [ecx]
cmp cx, si
je 0x42d6e7
cmp cx, dx
je 0x42d6e7
cmp eax, esi
je 0x42d6f1
cmp word [eax], dx
je 0x42d6f1
mov cl, byte [ebp + 0x5b]
neg cl
mov dword [ebp + 0x7c], esi
mov dword [ebp + 0x78], eax
sbb ecx, ecx
and ecx, 8
mov dword [ebp - 0x1c], ecx
cmp word [eax], 0x22
jne 0x42d657
push 0x8d
lea eax, [ebp + 0x4c]
push esi
push eax
call fcn.0041a4ff
add esp, 0xc
mov dword [ebp + 0x78], eax
push 0x2c
push dword [ebp + 0x78]
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, esi
mov dword [ebp + 0x78], eax
je 0x42d68d
mov word [eax], si
add dword [ebp + 0x78], 2
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00414b04
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00414b04
add esp, 0x10
cmp byte [ebp + 0x5b], 0
je 0x42d69c
cmp dword [ebp + 0x7c], esi
je 0x42d69c
mov byte [ebp + 0x5b], 0x10
push dword [ebp + 0x4c]
lea eax, [ebp + 0x47]
push eax
call fcn.004121ad
cmp byte [ebp + 0x5b], 0
pop ecx
pop ecx
je 0x42d6cc
call fcn.00402de1
push dword [ebp + 0x7c]
push dword [ebp + 0x4c]
call dword [0x4dd4dc]
jmp 0x42d6db
mov byte [ebp + 0x5b], 0
jmp 0x42d5ec
push dword [ebp - 0x1c]
push dword [ebp + 0x7c]
push dword [ebp + 0x4c]
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov dword [ebp + 0x5c], eax
mov byte [ebp + 0x4a], 1
jmp 0x42f50e
mov esi, 0x80070057
jmp 0x42f6c5
cmp byte [ebp + 0x49], 0
je 0x42d799
cmp eax, esi
je 0x42f53c
cmp word [eax], dx
mov byte [ebp + 0x4a], 1
jne 0x42d711
add eax, edi
mov dword [ebp + 0x4c], eax
mov cx, word [eax]
cmp cx, dx
je 0x42d71f
cmp cx, 0x23
jne 0x42d725
mov byte [ebp + 0x50], 1
jmp 0x42d70c
cmp word [eax], 0x3c
jne 0x42d730
add eax, edi
mov dword [ebp + 0x4c], eax
cmp word [eax], si
je 0x42f53c
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp + 0x4c]
push eax
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x54], esi
call fcn.00405bdb
mov eax, dword [ebp + 0x4c]
cmp word [eax], si
pop ecx
pop ecx
je 0x42f53a
push eax
lea ecx, [ebp + 0x78]
call fcn.00402d26
cmp byte [ebp + 0x50], 0
je 0x42d77d
mov ecx, dword [ebp - 0x58]
mov eax, ecx
or eax, dword [ebp - 0x54]
je 0x42d78c
push dword [ebp + 0x78]
call fcn.00410705
jmp 0x42d789
push dword [ebp + 0x78]
push dword [ebp - 0x58]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp + 0x5c], eax
lea ecx, [ebp + 0x78]
call fcn.0043e825
jmp 0x42f53c
cmp byte [ebp + 0x5a], 0
je 0x42d83b
cmp eax, esi
je 0x42f53c
xor bl, bl
cmp word [eax], dx
mov byte [ebp + 0x4a], 1
jne 0x42d7bb
add eax, edi
mov dword [ebp + 0x4c], eax
mov cx, word [eax]
cmp cx, dx
je 0x42d7c9
cmp cx, 0x23
jne 0x42d7cf
mov byte [ebp + 0x50], 1
jmp 0x42d7b6
cmp word [eax], 0x3c
jne 0x42d7dc
add eax, edi
mov dword [ebp + 0x4c], eax
mov bl, 1
cmp word [eax], si
je 0x42f53c
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp + 0x4c]
push eax
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], esi
call fcn.00451c15
cmp byte [ebp + 0x50], 1
pop ecx
pop ecx
jle 0x42d81b
mov ecx, dword [ebp - 0x30]
mov eax, ecx
or eax, dword [ebp - 0x2c]
je 0x42f53a
call fcn.004106be
mov dword [ebp + 0x5c], esi
jmp 0x42f53c
test bl, bl
push dword [ebp - 0x30]
je 0x42d82d
call dword [0x4dd4e0]
jmp 0x42f53c
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp + 0x5c], eax
jmp 0x42f53c
cmp byte [ebp - 0x3d], 0
mov byte [ebp + 0x5a], 0
je 0x42d849
mov byte [ebp + 0x5a], 1
cmp eax, esi
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
jne 0x42d970
cmp dword [ebp + 0x40], esi
jne 0x42d865
mov dword [ebp + 0x40], 0x4c73be
jmp 0x42d885
push dword [ebp + 0x40]
push 0x4c73be
call edi
test eax, eax
je 0x42d885
push dword [ebp + 0x40]
push 0x4c7392
call edi
test eax, eax
jne 0x42d970
cmp dword [ebp - 0xc], esi
mov byte [ebp + 0x5a], 0xff
jge 0x42d895
mov dword [ebp - 0xc], 0x31
cmp byte [ebp - 0xc], 0
je 0x42d970
lea ecx, [ebp + 0x78]
call fcn.00444f6c
push 0xffffffffffffffff
push str.___exe:_
lea ecx, [ebp + 0x7c]
call fcn.0044e85d
lea eax, [ebp + 0x7c]
push eax
lea ecx, [ebp + 0x78]
call fcn.0044e8bd
lea ecx, [ebp + 0x7c]
call fcn.0043e825
push 0x51c
lea ecx, [ebp + 0x78]
call fcn.00444fb1
mov eax, dword [ebp + 0x78]
push 0x208
add eax, 0x10
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0xffffffffffffffff
push str.____nowin___nfb___hide_PECMDpecmd_cmd_CALL__
lea ecx, [ebp + 0x7c]
call fcn.0044e85d
push dword [eax]
lea ecx, [ebp + 0x78]
call fcn.00444fd8
lea ecx, [ebp + 0x7c]
call fcn.0043e825
mov eax, dword [ebp + 4]
cmp eax, esi
jl 0x42d919
mov ecx, dword [ebp - 0x68]
mov word [ecx + eax*2], si
push dword [ebp - 0x68]
lea ecx, [ebp + 0x78]
call fcn.00444fd8
push 0xffffffffffffffff
push 0x4c734c
lea ecx, [ebp + 0x7c]
call fcn.0044e85d
push dword [eax]
lea ecx, [ebp + 0x78]
call fcn.00444fd8
lea ecx, [ebp + 0x7c]
call fcn.0043e825
push dword [ebp + 0x40]
lea ecx, [ebp + 0x78]
call fcn.00444fd8
mov ecx, dword [ebp + 0x70]
push esi
push esi
push esi
push esi
push esi
push ecx
push dword [ebp + 0x78]
call fcn.0040a83c
lea ecx, [ebp + 0x78]
mov esi, eax
call fcn.0043e825
jmp 0x42f6c5
mov eax, dword [ebp + 0x40]
cmp eax, esi
je 0x42f71a
cmp word [eax], si
je 0x42f71a
cmp byte [ebp + 0x2d], 0
jne 0x42da2e
cmp byte [ebp + 0x1c], 0
je 0x42da2e
cmp dword [ebp + 0x7c], esi
je 0x42da2e
mov eax, dword [ebp - 0x48]
push 2
mov dword [ebp - 0x88], eax
pop eax
cmp dword [ebp + 0x3c], eax
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x18], eax
jle 0x42da26
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x48]
sub eax, ecx
mov dword [ebp + 0x7c], eax
mov eax, dword [ebp + 0x3c]
add eax, 0xfffffffe
lea edi, [ecx + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [edi]
push 0x25
push eax
call dword [sym.imp.SHLWAPI.dll_StrChrW]
test eax, eax
jne 0x42d9e8
mov eax, dword [edi]
mov ecx, dword [ebp + 0x7c]
mov dword [ecx + edi], eax
jmp 0x42da18
mov ecx, dword [ebp + 0x70]
push 1
push esi
lea eax, [ebp - 0x5c]
push eax
push dword [edi]
call fcn.004567e7
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x18]
inc dword [ebp - 0x18]
mov dword [ecx + edx*4 + 0x1ac], eax
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp + 0x7c]
mov dword [ecx + edi], eax
mov dword [ebp - 0x5c], esi
add edi, 4
dec dword [ebp - 0x20]
jne 0x42d9cf
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
lea ecx, [ebp - 0x5c]
call fcn.0043e825
push str._DllRegisterServer
push dword [ebp + 0x40]
mov dword [ebp - 0x3c], 2
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], esi
call edi
test eax, eax
jne 0x42da64
cmp dword [ebp - 0xc], esi
mov dword [ebp + 0x40], 0x4c73be
mov byte [ebp + 0x5a], 0xff
jge 0x42da60
mov dword [ebp - 0xc], 0x31
mov byte [ebp + 0x47], 1
push str._DllUnregisterServer
push dword [ebp + 0x40]
call edi
test eax, eax
jne 0x42da90
cmp dword [ebp - 0xc], esi
mov ecx, 0x4c7392
mov dword [ebp + 0x40], ecx
mov byte [ebp + 0x5a], 0xff
jge 0x42da8a
mov dword [ebp - 0xc], 0x71
mov byte [ebp + 0x47], 1
jmp 0x42da93
mov ecx, dword [ebp + 0x40]
xor edx, edx
mov dx, word [ecx]
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x54], esi
mov eax, edx
call fcn.00414b24
test al, al
jne 0x42dac3
cmp dx, 0x26
je 0x42dafc
cmp dword [ebp + 0x20], esi
jg 0x42dafc
mov eax, dword [ebp + 0x74]
cmp word [eax], 0x23
jne 0x42db30
cmp word [eax + 2], si
jne 0x42db30
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x90]
push eax
mov dword [ebp - 0x90], ecx
call fcn.00451dd4
mov eax, dword [ebp - 0x58]
pop ecx
pop ecx
mov ecx, eax
or ecx, dword [ebp - 0x54]
je 0x42db17
mov dword [ebp + 0x54], eax
cmp byte [ebp + 0x46], 0
mov byte [ebp + 0x5a], 1
jge 0x42daf6
mov byte [ebp + 0x46], 1
mov byte [ebp + 0x1f], 0
jmp 0x42db33
push esi
push 0xffffffffffffffff
push esi
push ecx
mov ecx, dword [ebp + 0x70]
call fcn.00410e94
cmp eax, esi
je 0x42db17
mov eax, dword [eax + 4]
cmp eax, esi
mov dword [ebp + 0x54], eax
jne 0x42dae8
mov al, byte [ebp + 0x2b]
neg al
sbb eax, eax
and eax, 0x7ff8ffa9
add eax, 0x80070057
mov dword [ebp + 0x5c], eax
jmp 0x42f5d2
mov eax, dword [ebp + 0x54]
mov ecx, dword [ebp + 0x20]
cmp ecx, esi
jle 0x42db4c
cmp eax, esi
je 0x42db4c
dec ecx
cmp ecx, esi
jl 0x42db4c
inc ecx
dec ecx
mov eax, dword [eax]
jne 0x42db44
mov dword [ebp + 0x54], eax
or dword [ebp - 0x28], 0xffffffff
cmp dword [ebp - 8], esi
mov dword [ebp - 0x20], eax
je 0x42db71
cmp dword [ebp + 0xc], esi
jge 0x42db71
cmp eax, esi
mov byte [ebp + 0x7f], 1
jne 0x42db91
mov dword [ebp - 0x14], 0x80070057
jmp 0x42f50e
mov byte [ebp + 0x7f], 0
cmp byte [ebp + 0x2f], 0
je 0x42de5e
mov ecx, dword [ebp + 0xc]
mov dword [ebp + 0x5c], ecx
mov dword [ebp - 0x14], ecx
mov byte [ebp + 0x4a], 0x10
jmp 0x42f53a
mov edi, dword [eax]
cmp edi, esi
mov dword [ebp + 0x3c], esi
mov dword [ebp - 0x24], edi
je 0x42dc76
push dword [ebp - 8]
push str.Release
call fcn.0043fc97
test al, al
pop ecx
pop ecx
je 0x42dbc0
mov dword [ebp + 0xc], 2
jmp 0x42dd88
push dword [ebp - 8]
push str.AddRef
call fcn.0043fc97
test al, al
pop ecx
pop ecx
je 0x42dbdf
mov dword [ebp + 0xc], 1
jmp 0x42dd88
push dword [ebp - 8]
push str.QueryInterface
call fcn.0043fc97
test al, al
pop ecx
pop ecx
je 0x42dbfa
mov dword [ebp + 0xc], esi
jmp 0x42dd88
push dword [ebp - 8]
push str.GetTypeInfoCount
call fcn.0043fc97
test al, al
pop ecx
pop ecx
je 0x42dc19
mov dword [ebp + 0xc], 3
jmp 0x42dd88
push dword [ebp - 8]
push str.GetTypeInfo
call fcn.0043fc97
test al, al
pop ecx
pop ecx
je 0x42dc38
mov dword [ebp + 0xc], 4
jmp 0x42dd88
push dword [ebp - 8]
push str.GetIDsOfNames
call fcn.0043fc97
test al, al
pop ecx
pop ecx
je 0x42dc57
mov dword [ebp + 0xc], 5
jmp 0x42dd88
push dword [ebp - 8]
push str.Invoke
call fcn.0043fc97
test al, al
pop ecx
pop ecx
je 0x42dc76
mov dword [ebp + 0xc], 6
jmp 0x42dd88
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax]
lea edx, [ebp - 0x28]
push edx
mov edi, 0x800
push edi
push 1
lea edx, [ebp - 8]
push edx
push 0x4cf7d4
push eax
call dword [ecx + 0x14]
cmp eax, esi
mov ecx, dword [ebp - 0x28]
mov dword [ebp + 0xc], ecx
jne 0x42de48
cmp ecx, esi
jl 0x42de48
cmp dword [ebp - 0x24], esi
mov dword [ebp + 4], esi
je 0x42dcbf
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax]
lea edx, [ebp + 4]
push edx
push eax
call dword [ecx + 0xc]
cmp dword [ebp + 4], esi
mov dword [ebp - 0x34], esi
je 0x42dce0
cmp dword [ebp - 0x24], esi
je 0x42dce0
cmp dword [ebp + 0x3c], esi
jne 0x42dceb
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax]
lea edx, [ebp + 0x3c]
push edx
push edi
push esi
push eax
call dword [ecx + 0x10]
cmp dword [ebp + 0x3c], esi
je 0x42db75
xor esi, esi
cmp dword [0x4dcbec], esi
jne 0x42dcf8
call fcn.00402de1
cmp byte [ebp + 0x51], 0
jge 0x42dd08
cmp byte [ebp + 0x2f], 0
mov byte [ebp + 0x52], 1
jle 0x42dd2d
cmp byte [ebp + 0x2f], 0
mov byte [ebp + 0x52], 0
jle 0x42dd2d
mov eax, dword [ebp + 0x18]
mov ax, word [eax]
cmp ax, si
je 0x42dd2d
cmp ax, 0x2a
mov dword [ebp - 0x98], 0x70
jne 0x42dd37
mov dword [ebp - 0x98], 2
mov edi, dword [ebp - 0x4c]
mov dword [ebp + 0x20], 7
mov eax, dword [ebp + 0x3c]
and dword [ebp - 0x34], 0
mov ecx, dword [eax]
lea edx, [ebp - 0x34]
push edx
push dword [ebp + 0x20]
push eax
call dword [ecx + 0x14]
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x42dda3
mov ecx, dword [ebp + 0x3c]
mov edx, dword [ecx]
mov esi, dword [eax]
push eax
push ecx
call dword [edx + 0x50]
cmp byte [ebp + 0x52], 0
je 0x42ddc2
cmp esi, dword [ebp - 0x28]
jne 0x42de33
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp + 0x20]
cmp dword [ecx + eax*4], 0
je 0x42dda3
mov dword [ebp + 0xc], eax
mov edi, ecx
or byte [ebp + 0x3b], 6
cmp byte [ebp + 0x4b], 0
mov byte [ebp + 0x7f], 0xff
je 0x42dd9a
or byte [ebp + 0x4b], 2
mov eax, dword [ebp + 0xc]
mov eax, dword [edi + eax*4]
mov dword [ebp + 0x54], eax
mov eax, dword [ebp + 0x3c]
test eax, eax
je 0x42db75
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
and dword [ebp + 0x3c], 0
call fcn.00443a8f
jmp 0x42db75
mov eax, dword [ebp + 0x3c]
or dword [ebp + 0x34], 0xffffffff
mov ecx, dword [eax]
lea edx, [ebp + 0x34]
push edx
push dword [ebp - 0x98]
push edi
push esi
push eax
call dword [ecx + 0x1c]
cmp dword [ebp + 0x34], 0
jle 0x42de24
push dword [ebp - 8]
mov eax, dword [edi]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x42de24
cmp byte [ebp + 0x51], al
jl 0x42de02
movsx eax, byte [ebp + 0x51]
mov ecx, dword [ebp - 0x34]
cmp eax, dword [ecx + 0x10]
jne 0x42de24
mov al, byte [ebp + 0x34]
dec al
mov byte [ebp + 0x2c], al
jmp 0x42de24
mov eax, dword [ebp + 0x34]
mov eax, dword [edi + eax*4]
test eax, eax
je 0x42de24
push eax
call dword [0x4dcbec]
mov eax, dword [ebp + 0x34]
and dword [edi + eax*4], 0
dec dword [ebp + 0x34]
jns 0x42de0c
cmp byte [ebp + 0x2c], 0
jge 0x42dd77
inc dword [ebp + 0x20]
cmp dword [ebp + 0x20], 0x7fffffff
jl 0x42dd41
jmp 0x42dda3
cmp byte [ebp + 0x2f], 0
mov dword [ebp - 0x14], 0x80004001
jne 0x42db82
jmp 0x42f50e
cmp byte [ebp + 0x7f], 1
jne 0x42de6c
mov eax, dword [ebp]
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
cmp byte [ebp + 0x2d], 0
jne 0x42e3b8
cmp byte [ebp + 0x1c], 0
je 0x42e3b8
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 4], 0
je 0x42e3b8
cmp byte [ebp + 0x13], 0
je 0x42dea7
mov eax, dword [ecx + 8]
test eax, eax
mov dword [ebp + 0x60], eax
je 0x42dea7
mov dword [ebp - 0x3c], 3
cmp byte [ebp + 0x3b], 0
je 0x42deb7
and dword [ebx], 0
mov dword [ebp + 0x14], 1
cmp dword [ebp + 0x14], 0x64
mov al, byte [ebp + 0x67]
mov byte [ebp + 0x13], al
ja 0x42e3b8
mov eax, dword [ebp + 0x14]
lea eax, [ebx + eax*4]
mov dword [ebp + 0x34], eax
mov eax, dword [ebp - 0x3c]
mov edi, dword [ebp + 0x34]
shl eax, 2
add ecx, eax
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp + 8]
lea eax, [eax + ecx - 4]
mov dword [ebp + 4], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
add dword [ebp - 0x34], 4
add dword [ebp + 4], 4
test eax, eax
mov dword [ebp + 0x60], eax
je 0x42e3b8
mov ecx, dword [ebp - 0x64]
test ecx, ecx
mov dword [edi], eax
mov eax, dword [ebp + 0x60]
mov si, word [eax]
mov byte [ebp + 0x52], 0
jne 0x42df1b
mov dl, byte [ebp + 0x13]
mov byte [ebp + 0x67], dl
jmp 0x42df3a
cmp word [ecx], 0
je 0x42df37
mov ecx, dword [ebp - 0x64]
mov dl, byte [ecx]
add ecx, 2
cmp word [ecx], 0
mov byte [ebp + 0x67], dl
je 0x42df3a
mov dword [ebp - 0x64], ecx
jmp 0x42df3a
mov dl, byte [ebp + 0x67]
cmp dl, 0x23
je 0x42e035
cmp dl, 0x2a
je 0x42e035
cmp dl, 0x3c
je 0x42e035
cmp dl, 0x3e
je 0x42e035
cmp dl, 0x24
je 0x42e178
cmp dl, 0x40
je 0x42e1af
cmp dl, 0x3d
je 0x42e1e6
cmp dl, 0x7e
je 0x42e19d
test dl, dl
jne 0x42e13e
cmp si, 0x23
je 0x42e331
cmp si, 0x3c
je 0x42e1f9
cmp si, 0x3e
jne 0x42e39f
cmp word [eax], 0x3e
jne 0x42dfb3
inc eax
inc eax
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x3c], 0xc
cmp word [eax], 0x3a
jne 0x42dfe1
inc eax
inc eax
mov dword [ebp + 0x60], eax
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.004412d1
mov eax, dword [ebp + 0x60]
cmp word [eax], 0x3a
pop ecx
pop ecx
jne 0x42dfe1
add dword [ebp + 0x60], 2
lea ecx, [ebp + 0x20]
call fcn.00444f6c
mov ecx, dword [ebp + 0x70]
xor esi, esi
push esi
push 0x2c
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.00439aaa
mov ecx, dword [ebp + 0x70]
push esi
push 0xffffffffffffffff
push esi
push dword [ebp + 0x20]
mov dword [ebp + 0x60], esi
call fcn.00410e94
cmp eax, esi
je 0x42e01a
mov ecx, dword [eax + 4]
mov dword [ebp + 0x60], ecx
cmp eax, esi
mov ecx, dword [ebp + 0x60]
mov dword [edi], ecx
push 0x10
jne 0x42e1c3
push esi
push edi
call fcn.004ae820
jmp 0x42e1cc
cmp si, 0x3c
je 0x42e13e
cmp si, 0x23
je 0x42e13e
cmp si, 0x2a
je 0x42e13e
cmp si, 0x24
je 0x42e13e
cmp si, 0x40
je 0x42e13e
cmp si, 0x3d
je 0x42e13e
cmp si, 0x7e
je 0x42e13e
cmp dl, 0x23
je 0x42e331
cmp dl, 0x3c
je 0x42e1f9
cmp dl, 0x3e
movsx si, dl
je 0x42dfa8
cmp word [eax], 0x2a
jne 0x42e0a5
inc eax
inc eax
mov dword [ebp + 0x60], eax
xor ecx, ecx
cmp si, 0x2a
setne cl
xor edi, edi
dec ecx
and ecx, 0x3fff
add ecx, 0xc
mov dword [ebp + 0x3c], ecx
cmp word [eax], 0x3a
jne 0x42e0e5
inc eax
inc eax
mov dword [ebp + 0x60], eax
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.004412d1
mov eax, dword [ebp + 0x60]
cmp word [eax], 0x3a
pop ecx
pop ecx
jne 0x42e0e5
inc eax
inc eax
mov dword [ebp + 0x60], eax
mov cx, word [eax]
cmp cx, 0x7e
jne 0x42e27a
inc eax
inc eax
mov edi, 0xfde9
mov dword [ebp + 0x60], eax
lea ecx, [ebp - 0x24]
call fcn.00444f6c
mov ecx, dword [ebp + 0x70]
xor esi, esi
push esi
push 0x2c
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.00439aaa
mov ecx, dword [ebp + 0x70]
push esi
push 0xffffffffffffffff
push esi
push dword [ebp - 0x24]
mov dword [ebp + 0x60], esi
call fcn.00410e94
cmp eax, esi
je 0x42e28b
mov eax, dword [eax + 4]
mov dword [ebp + 0x60], eax
jmp 0x42e28e
inc eax
movzx ecx, si
inc eax
sub ecx, 0x23
mov dword [ebp + 0x60], eax
mov byte [ebp + 0x52], 1
je 0x42e331
sub ecx, 7
je 0x42e09a
sub ecx, 0x12
je 0x42e1f9
dec ecx
je 0x42e1e6
dec ecx
je 0x42dfa8
dec ecx
dec ecx
je 0x42e1af
sub ecx, 0x3e
je 0x42e19d
cmp byte [ebp + 0x7f], 1
mov dword [edi], eax
jne 0x42e39f
mov eax, dword [ebp]
mov word [eax], 8
mov ecx, dword [ebp + 0x60]
mov dword [eax + 8], ecx
add eax, 0x10
mov dword [ebp], eax
jmp 0x42e39f
test eax, eax
mov edi, 0xfde9
je 0x42e2dd
jmp 0x42e2a4
xor edi, edi
test eax, eax
jne 0x42e2a4
mov eax, dword [ebp + 0x34]
and dword [eax], edi
jmp 0x42e2e2
push dword [eax + 4]
push edi
call fcn.004145c5
add dword [ebp + 0x14], 3
add edi, 0xc
add esp, 0xc
lea ecx, [ebp + 0x20]
mov dword [ebp + 0x34], edi
call fcn.0043e825
jmp 0x42e302
movsx eax, byte [ebp + 0x52]
mov ecx, dword [ebp + 4]
mov ecx, dword [ecx]
lea eax, [ecx + eax*2]
mov dword [edi], eax
jmp 0x42e39f
cmp word [eax], 0x3c
jne 0x42e204
inc eax
inc eax
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x3c], 0x14
cmp word [eax], 0x3a
jne 0x42e232
inc eax
inc eax
mov dword [ebp + 0x60], eax
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.004412d1
mov eax, dword [ebp + 0x60]
cmp word [eax], 0x3a
pop ecx
pop ecx
jne 0x42e232
add dword [ebp + 0x60], 2
and dword [ebp - 0x30], 0
and dword [ebp - 0x2c], 0
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.00451dd4
cmp byte [ebp + 0x7f], 1
mov eax, dword [ebp - 0x30]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x2c]
mov dword [edi], eax
jne 0x42e26d
mov edx, dword [ebp]
mov si, word [ebp + 0x3c]
mov word [edx], si
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
add edx, 0x10
mov dword [ebp], edx
inc dword [ebp + 0x14]
add edi, 4
mov dword [edi], ecx
jmp 0x42e39f
cmp cx, 0x40
jne 0x42e0fc
xor edi, edi
jmp 0x42e0fc
mov eax, dword [ebp + 0x60]
cmp di, si
je 0x42e2f2
cmp eax, esi
je 0x42e2ea
cmp word [eax], si
je 0x42e2f2
lea ecx, [ebp - 0x24]
call fcn.0043e825
push 4
call fcn.004aea68
test eax, eax
pop ecx
je 0x42e2b7
and dword [eax], 0
mov esi, eax
jmp 0x42e2b9
xor esi, esi
movzx eax, di
push eax
push 0xffffffffffffffff
push dword [ebp + 0x60]
mov ecx, esi
call fcn.00444ef4
mov eax, dword [esi]
push esi
lea ecx, [ebp - 0xa4]
mov dword [ebp + 0x60], eax
call fcn.0040fa5f
mov eax, dword [ebp + 0x60]
mov ecx, dword [ebp + 0x34]
mov dword [ecx], eax
mov edi, dword [ebp + 0x34]
jmp 0x42e39f
mov eax, 0x4c1a3c
mov dword [ebp + 0x60], eax
mov ecx, dword [ebp + 0x34]
mov dword [ecx], eax
lea ecx, [ebp - 0x24]
call fcn.0043e825
mov edi, dword [ebp + 0x34]
cmp byte [ebp + 0x7f], 1
jne 0x42e39f
mov eax, dword [ebp + 0x3c]
cmp eax, 0xc
mov ecx, dword [ebp]
mov word [ecx], ax
jne 0x42e325
mov esi, dword [ebp + 0x60]
mov edi, ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x42e32b
mov eax, dword [ebp + 0x60]
mov dword [ecx + 8], eax
add dword [ebp], 0x10
jmp 0x42e2e2
cmp word [eax], 0x23
jne 0x42e33c
inc eax
inc eax
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x3c], 3
cmp word [eax], 0x3a
jne 0x42e36a
inc eax
inc eax
mov dword [ebp + 0x60], eax
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.004412d1
mov eax, dword [ebp + 0x60]
cmp word [eax], 0x3a
pop ecx
pop ecx
jne 0x42e36a
add dword [ebp + 0x60], 2
and dword [ebp - 0x30], 0
and dword [ebp - 0x2c], 0
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.00451dd4
cmp byte [ebp + 0x7f], 1
mov eax, dword [ebp - 0x30]
pop ecx
pop ecx
mov dword [edi], eax
jne 0x42e39f
mov ecx, dword [ebp]
mov dx, word [ebp + 0x3c]
mov word [ecx], dx
mov dword [ecx + 8], eax
add ecx, 0x10
mov dword [ebp], ecx
inc dword [ebp + 0x14]
add edi, 4
cmp byte [ebp - 0xe], 0
mov dword [ebp + 0x34], edi
jne 0x42e3b8
cmp dword [ebp + 0x14], 0x64
jbe 0x42dee8
cmp byte [ebp + 0x53], 0
je 0x42e3cc
mov ecx, dword [ebp + 0x74]
mov eax, dword [ebp + 0x4c]
mov dword [ebp + 0x74], eax
mov dword [ebp + 0x4c], ecx
jmp 0x42e3cf
mov eax, dword [ebp + 0x74]
and dword [ebp + 8], 0
test eax, eax
mov byte [ebp + 0x49], 0
je 0x42e3f2
cmp word [eax], 0x22
jne 0x42e3e8
mov dword [ebp + 8], 1
push eax
call fcn.004132c6
pop ecx
mov dword [ebp + 0x74], eax
push 0x2a
mov ecx, eax
pop esi
mov dword [ebp + 0x24], ecx
cmp word [eax], si
mov byte [ebp + 0x51], 0
jne 0x42e415
lea eax, [ecx + 2]
cmp word [eax], si
jne 0x42e415
mov ecx, eax
mov dword [ebp + 0x24], ecx
cmp word [ecx], si
je 0x42e403
mov di, word [ecx]
cmp di, si
jne 0x42e49a
xor eax, eax
mov ax, word [ecx + 2]
push eax
call fcn.00414a48
add esp, 4
test al, al
jne 0x42e434
or byte [ebp + 0x50], 2
cmp di, si
jne 0x42e49a
xor eax, eax
lea edx, [ecx + 2]
mov ax, word [edx]
push eax
call fcn.00414a48
add esp, 4
test al, al
je 0x42e49a
cmp ecx, dword [ebp + 0x74]
mov dword [ebp + 0x24], edx
seta al
and dword [ebp - 0x8c], 0
and dword [ebp - 0x88], 0
inc al
mov byte [ebp + 0x51], al
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp + 0x24]
push eax
call fcn.00451c15
test eax, eax
pop ecx
pop ecx
jle 0x42d6e7
mov eax, dword [ebp - 0x8c]
test eax, eax
je 0x42d6e7
mov ecx, dword [ebp + 0x24]
mov dword [ebp + 0x30], eax
jmp 0x42e4a4
test di, di
jne 0x42e4aa
xor ecx, ecx
mov dword [ebp + 0x24], ecx
cmp byte [ebp + 0x51], 0
jne 0x42e4c1
test ecx, ecx
je 0x42e4c1
cmp word [ecx], 0x2e
jne 0x42e4c1
cmp word [ecx + 2], 0
jne 0x42e4c1
mov byte [ebp + 0x52], 1
jmp 0x42e4cb
cmp byte [ebp + 0x51], 0
mov byte [ebp + 0x52], 0
jne 0x42e53e
cmp byte [ebp + 0x1f], 0
je 0x42e53e
cmp byte [ebp + 0x50], 0
jne 0x42e53e
cmp byte [ebp + 0x52], 0
je 0x42e4e4
mov eax, dword [0x4dcc88]
jmp 0x42e4eb
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x42e50e
push dword [ebp + 0x74]
lea eax, [ebp + 0x47]
push eax
call fcn.004121ad
pop ecx
pop ecx
push dword [ebp + 0x74]
mov byte [ebp - 0xd], 1
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x42e514
and dword [ebp + 0x5c], 0
jmp 0x42e52c
cmp byte [ebp + 0x2b], 0
je 0x42e523
and dword [ebp + 0x5c], 0
jmp 0x42f50e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0x5c], eax
cmp byte [ebp - 0xd], 1
je 0x42f50e
mov esi, dword [ebp + 0x5c]
jmp 0x42f6c5
push dword [ebp + 0x74]
lea eax, [ebp + 0x47]
push eax
call fcn.004121ad
cmp dword [ebp + 0x54], 0
pop ecx
pop ecx
jne 0x42ea87
cmp byte [ebp + 0x50], 0
mov eax, dword [0x4dcc88]
mov esi, dword [ebp + 0x24]
jne 0x42e592
cmp dword [ebp + 0x30], 0
jne 0x42e592
cmp byte [ebp + 0x5a], 0
jne 0x42e592
test esi, esi
je 0x42e58e
cmp word [esi], 0x2e
jne 0x42e7e5
cmp word [esi + 2], 0
jne 0x42e7e5
mov dword [ebp + 0x30], eax
jmp 0x42e59a
mov byte [ebp + 0x5a], 2
test esi, esi
je 0x42e94b
cmp dword [ebp + 0x30], 0
jne 0x42e960
cmp byte [ebp + 0x50], 0
je 0x42e7e5
xor edx, edx
xor ecx, ecx
cmp dword [ebp + 8], edx
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], edx
mov cx, word [esi]
mov edi, esi
mov dword [ebp - 0x4c], ecx
jne 0x42e5e1
cmp cx, 0x23
jne 0x42e5e1
xor eax, eax
mov ax, word [esi + 2]
push eax
call fcn.00414a48
add esp, 4
test al, al
jne 0x42e62c
cmp cx, 0x2a
jne 0x42e5ee
inc esi
inc esi
mov dword [ebp + 0x24], esi
mov edi, esi
cmp word [esi], 0x22
mov dword [ebp - 0x3c], edx
jne 0x42e61f
inc esi
inc esi
push 0x22
lea eax, [ebp + 8]
mov dword [ebp + 0x24], esi
mov dword [ebp + 8], esi
call fcn.00405bbb
mov edi, dword [ebp + 8]
cmp word [edi], 0
pop ecx
je 0x42e61f
and word [edi], 0
mov esi, dword [ebp + 0x24]
mov dword [ebp - 0x3c], edi
inc edi
inc edi
cmp word [ebp - 0x4c], 0x2a
jne 0x42e6e2
xor edx, edx
mov eax, dword [0x4dcfa8]
mov dword [ebp + 4], edx
jmp 0x42e63e
cmp cx, 0x23
je 0x42e646
inc edi
inc edi
mov cx, word [edi]
cmp cx, dx
jne 0x42e636
cmp word [edi], dx
mov esi, edi
je 0x42e66a
mov cx, word [esi]
cmp cx, 0x7c
je 0x42e665
cmp cx, 0x3a
je 0x42e665
inc esi
inc esi
cmp word [esi], dx
jne 0x42e64d
jmp 0x42e66a
mov word [esi], dx
inc esi
inc esi
cmp word [esi], dx
jne 0x42e674
mov esi, str.EXEDATA
cmp word [edi], 0x23
jne 0x42e6ee
mov ecx, dword [ebp - 0x3c]
cmp ecx, edx
mov word [edi], dx
je 0x42e687
mov word [ecx], dx
mov ecx, dword [ebp + 0x24]
cmp word [ecx], 0x2e
jne 0x42e6a3
lea edx, [ecx + 2]
cmp word [edx], 0
jne 0x42e6a3
mov eax, dword [0x4dcc88]
mov ecx, edx
mov dword [ebp + 0x24], ecx
cmp word [ecx], 0
je 0x42e6b7
push 2
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov dword [ebp + 4], eax
test eax, eax
mov word [edi], 0x23
je 0x42e6d1
push 0
lea ecx, [ebp - 0x80]
push ecx
push esi
push edi
push eax
call fcn.004155b1
add esp, 0x14
cmp dword [ebp + 4], 0
je 0x42e6ee
push dword [ebp + 4]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x42e6ee
lea eax, [ebp - 0x80]
push eax
push esi
call fcn.00414f75
pop ecx
pop ecx
mov edi, dword [ebp - 0x80]
test edi, edi
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x4c], eax
jne 0x42e71e
xor eax, eax
cmp byte [ebp + 0x53], al
lea ecx, [ebp - 0x80]
sete al
mov byte [ebp + 0x48], 1
mov dword [ebp - 0x14], 1
mov dword [ebp + 0x5c], eax
call fcn.0043e825
jmp 0x42e951
lea eax, [ebp - 0x70]
push 0x28
push eax
call fcn.00410d2e
mov esi, eax
test esi, esi
pop ecx
pop ecx
je 0x42e738
mov ecx, esi
call fcn.00414b87
push dword [ebp - 0x4c]
add esi, 4
push edi
mov ecx, esi
mov dword [ebp - 4], esi
call fcn.0041cec4
test eax, eax
je 0x42e7c7
cmp byte [ebp + 0x53], 0
je 0x42e7a2
mov ecx, dword [ebp + 0x4c]
xor edi, edi
xor eax, eax
cmp ecx, edi
je 0x42e763
cmp word [ecx], di
jne 0x42e76b
mov ecx, dword [ebp + 0x18]
cmp word [ecx], di
je 0x42e76d
mov eax, ecx
cmp eax, edi
mov dword [ebp + 0x5c], esi
mov byte [ebp + 0x4a], 1
je 0x42e795
mov ecx, dword [ebp - 0x80]
mov dword [esi + 8], ecx
lea ecx, [ebp - 0x70]
push ecx
push eax
push esi
push dword [ebp + 0x70]
mov dword [ebp - 0x80], edi
call fcn.0042c405
add esp, 0x10
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x80]
call fcn.0043e825
jmp 0x42f53a
push dword [ebp + 0x40]
lea ecx, [ebp - 0x4c]
call fcn.00402d26
push dword [eax]
mov ecx, esi
call fcn.00410705
lea ecx, [ebp - 0x4c]
mov dword [ebp + 0x54], eax
call fcn.0043e825
cmp dword [ebp + 0x54], 0
jne 0x42e7dd
xor eax, eax
cmp byte [ebp + 0x53], al
mov byte [ebp + 0x48], 1
sete al
mov dword [ebp - 0x14], 1
mov dword [ebp + 0x5c], eax
lea ecx, [ebp - 0x80]
jmp 0x42ea82
xor edi, edi
mov di, word [esi]
and edi, 0xffdf
je 0x42e7fa
mov edi, dword [esi]
and edi, 0xffdfffdf
cmp byte [ebp + 0x52], 0
jne 0x42e93b
cmp byte [ebp + 0x53], 0
jne 0x42e930
cmp edi, 0x45004b
jne 0x42e85b
push esi
push dword [0x4db300]
call fcn.0043fc58
test al, al
pop ecx
pop ecx
jne 0x42e851
push 8
push dword [ebp + 0x24]
push dword [0x4db300]
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x42e8e2
mov esi, dword [ebp + 0x24]
cmp word [esi + 0x10], 0
jne 0x42e8e5
mov eax, dword [0x4dcff0]
jmp 0x42e93b
cmp edi, 0x530055
jne 0x42e8a0
push esi
push dword [0x4db2fc]
call fcn.0043fc58
test al, al
pop ecx
pop ecx
jne 0x42e896
push 6
push dword [ebp + 0x24]
push dword [0x4db2fc]
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x42e8e2
mov esi, dword [ebp + 0x24]
cmp word [esi + 0xc], 0
jne 0x42e8e5
mov eax, dword [0x4dcfec]
jmp 0x42e93b
cmp edi, 0x440047
jne 0x42e8e5
push esi
push dword [0x4db2f8]
call fcn.0043fc58
test al, al
pop ecx
pop ecx
jne 0x42e8db
push 5
push dword [ebp + 0x24]
push dword [0x4db2f8]
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x42e8e2
mov esi, dword [ebp + 0x24]
cmp word [esi + 0xa], 0
jne 0x42e8e5
mov eax, dword [0x4dcff4]
jmp 0x42e93b
mov esi, dword [ebp + 0x24]
cmp dword [0x4dcff8], 0
je 0x42e930
cmp edi, 0x4c004f
jne 0x42e930
push esi
push dword [0x4db2f4]
call fcn.0043fc58
test al, al
pop ecx
pop ecx
jne 0x42e929
push 5
push dword [ebp + 0x24]
push dword [0x4db2f4]
call fcn.0043fc19
mov esi, dword [ebp + 0x24]
add esp, 0xc
test al, al
je 0x42e930
cmp word [esi + 0xa], 0
jne 0x42e930
mov eax, dword [0x4dcff8]
jmp 0x42e93b
push esi
mov byte [ebp + 0x49], 1
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
mov dword [ebp + 0x30], eax
jne 0x42e960
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0x5c], eax
cmp dword [ebp + 0x30], 0
jne 0x42e960
cmp byte [ebp + 0x3a], 0
jne 0x42eb32
jmp 0x42f50e
push dword [ebp + 0x40]
lea ecx, [ebp + 0x20]
call fcn.00402d26
test byte [ebp + 0x51], 2
push dword [ebp + 0x20]
je 0x42e97e
mov ecx, dword [ebp + 0x30]
call fcn.00410705
jmp 0x42e987
push dword [ebp + 0x30]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
mov dword [ebp + 0x54], eax
jne 0x42ea7f
cmp byte [ebp + 0x2d], al
je 0x42ea76
cmp byte [ebp + 0x67], al
jne 0x42ea76
mov esi, dword [ebp + 0x40]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [ebp + 8], eax
lea edi, [eax + eax]
xor eax, eax
mov ax, word [edi + esi - 2]
and eax, 0xffdf
cmp ax, 0x41
je 0x42ea76
cmp ax, 0x57
je 0x42ea76
push 4
call fcn.004aea68
mov esi, eax
test esi, esi
pop ecx
je 0x42e9f2
mov eax, dword [ebp + 8]
add eax, 2
push eax
mov ecx, esi
call fcn.00444f8a
jmp 0x42e9f4
xor esi, esi
push esi
lea ecx, [ebp - 0xa4]
call fcn.0040fa5f
push dword [ebp + 8]
push dword [ebp + 0x40]
push dword [esi]
call fcn.00405b5e
mov esi, dword [esi]
mov dword [ebp + 0x40], esi
add esi, edi
and word [esi + 2], 0
add esp, 0xc
cmp byte [ebp + 0x51], 2
mov word [esi], 0x57
push dword [ebp + 0x20]
jne 0x42ea34
mov ecx, dword [ebp + 0x30]
call fcn.00410705
jmp 0x42ea3d
push dword [ebp + 0x30]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
mov dword [ebp + 0x54], eax
jne 0x42ea7f
push dword [ebp + 0x40]
lea ecx, [ebp - 0x4c]
mov word [esi], 0x41
call fcn.00402d26
push dword [eax]
push dword [ebp + 0x30]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [ebp - 0x4c]
mov dword [ebp + 0x54], eax
call fcn.0043e825
cmp dword [ebp + 0x54], 0
je 0x42ea76
mov byte [ebp + 0x67], 0x40
jmp 0x42ea7f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0x5c], eax
lea ecx, [ebp + 0x20]
call fcn.0043e825
and dword [ebp - 0x6c], 0
cmp byte [ebp + 0x4b], 0
je 0x42eaa3
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp + 0x14]
add eax, 8
inc dword [ebp + 0x14]
mov dword [ebx + ecx*4], eax
cmp byte [ebp + 0x3b], 0
je 0x42eaae
mov eax, dword [ebp - 0x20]
mov dword [ebx], eax
mov eax, dword [ebp + 0xc]
test eax, eax
jl 0x42eb0d
cmp byte [ebp + 0x7f], 1
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
mov dword [ebp + 0x54], eax
jne 0x42eb0d
mov ecx, dword [ebp - 0x38]
mov edx, dword [ecx]
mov eax, dword [ebp]
sub eax, edx
sar eax, 4
mov dword [ecx + 8], eax
lea ecx, [eax - 1]
shr eax, 1
test eax, eax
jle 0x42eb0d
shl ecx, 4
add ecx, edx
mov esi, edx
lea edi, [ebp - 0xb4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, ecx
mov edi, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, ecx
lea esi, [ebp - 0xb4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub ecx, 0x10
add edx, 0x10
dec eax
movsd dword es:[edi], dword [esi]
jne 0x42eae4
cmp byte [ebp + 0x3a], 0
je 0x42eb79
cmp byte [ebp + 0x49], 1
jne 0x42eb32
cmp byte [ebp + 0x5a], 0
jg 0x42eb32
cmp dword [ebp + 0x30], 0
je 0x42eb32
push dword [ebp + 0x30]
mov byte [ebp + 0x49], 2
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp byte [ebp + 0x2b], 0
je 0x42eb40
mov esi, dword [ebp + 0x54]
jmp 0x42f6c5
cmp dword [ebp + 0x54], 0
je 0x42eb5e
push dword [ebp + 0x54]
lea eax, [ebp - 0x12c]
push str.0x_p
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
mov ecx, dword [ebp + 0x70]
lea eax, [ebp - 0x12c]
push eax
push dword [ebp + 0x18]
call fcn.00444692
cmp byte [ebp + 0x49], 2
jmp 0x42e530
cmp dword [ebp + 0x54], 0
mov byte [ebp + 0x4b], 0
je case.default.0x42f110
test byte [ebp - 0xc], 7
je 0x42ebe3
call fcn.00443a8f
xor edi, edi
cmp dword [ebp - 0xc], edi
je 0x42ebe3
cmp dword [0x4dd4b8], edi
je 0x42ebe3
cmp dword [0x4dd4bc], edi
je 0x42ebe3
push 0x4ddd50
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, dword [ebp + 0x70]
mov al, byte [esi + 0xe]
test al, 2
jne 0x42ebd8
test al, 1
jne 0x42ebc6
mov byte [ebp + 0x4b], 1
or byte [ebp + 0x4b], 2
or al, 3
push edi
mov byte [esi + 0xe], al
call dword [0x4dd4b8]
jmp 0x42ebe3
push 0x4ddd50
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [ebp + 0x48], 0
je 0x42ebf1
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp byte [ebp + 0x7f], 1
jne 0x42ec2d
mov esi, dword [ebp - 0x20]
mov edi, dword [esi]
lea eax, [ebp - 0x6c]
push eax
movsx ax, byte [ebp + 0x1d]
push 0
push dword [ebp - 0x84]
mov byte [ebp + 0x4a], 1
push dword [ebp - 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
push eax
push 0x4cf7d4
push dword [ebp - 0x28]
push esi
call dword [edi + 0x18]
jmp 0x42f416
cmp byte [ebp + 0x2d], 0
je 0x42ece2
xor eax, eax
cmp byte [ebp + 0x67], 0x40
mov dword [ebp - 0x38], eax
mov byte [ebp + 0x4a], 1
mov word [ebp + 0x7a], ax
jne 0x42ec64
cmp dword [ebp + 0x4c], eax
je 0x42ec6a
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp + 0x4c]
lea ecx, [ebp - 0x38]
call fcn.00444ef4
mov eax, dword [ebp - 0x38]
mov dword [ebp + 0x4c], eax
cmp dword [ebp + 0x4c], 0
jne 0x42ec70
lea eax, [ebp + 0x7a]
mov dword [ebp + 0x4c], eax
mov edi, dword [ebp + 0x70]
mov ebx, dword [0x4dcfa8]
push 0
push edi
call fcn.00412b52
mov esi, dword [ebp + 0x40]
test esi, esi
pop ecx
pop ecx
mov dword [ebp + 8], 5
je 0x42ecbe
push 0x12
push esi
push str.InstallHinfSection
call fcn.0043fc19
add esp, 0xc
test al, al
je 0x42ecbe
xor eax, eax
cmp word [esi + 0x24], ax
je 0x42ecb9
cmp word [esi + 0x26], ax
mov word [esi + 0x24], 1
jne 0x42ecbe
mov dword [ebp + 8], eax
xor ebx, ebx
push dword [ebp + 8]
push dword [ebp + 0x4c]
push ebx
push dword [edi + 0x28]
call fcn.0043ee22
pop ecx
push eax
call dword [ebp + 0x54]
lea ecx, [ebp - 0x38]
mov dword [ebp + 0x5c], eax
call fcn.0043e825
jmp case.default.0x42f110
cmp dword [ebp + 0x78], 1
mov eax, dword [ebp + 0x14]
jne 0x42f103
cmp eax, 0x64
ja 0x42ecf8
mov byte [ebp + 0x4a], 0x20
cmp eax, 7
ja case.default.0x42ed01
jmp dword [eax*4 + 0x42f788]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x42ed18
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
pop ecx
pop ecx
jmp 0x42f416
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
add esp, 0xc
jmp 0x42f416
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
add esp, 0x10
jmp 0x42f416
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
add esp, 0x14
jmp 0x42f416
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
add esp, 0x18
jmp 0x42f416
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
add esp, 0x1c
jmp 0x42f416
cmp eax, 0x14
ja 0x42ede6
push dword [ebx + 0x4c]
push dword [ebx + 0x48]
push dword [ebx + 0x44]
push dword [ebx + 0x40]
push dword [ebx + 0x3c]
push dword [ebx + 0x38]
push dword [ebx + 0x34]
push dword [ebx + 0x30]
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
add esp, 0x50
jmp 0x42f416
cmp eax, 0x1e
ja 0x42ee4f
push dword [ebx + 0x74]
push dword [ebx + 0x70]
push dword [ebx + 0x6c]
push dword [ebx + 0x68]
push dword [ebx + 0x64]
push dword [ebx + 0x60]
push dword [ebx + 0x5c]
push dword [ebx + 0x58]
push dword [ebx + 0x54]
push dword [ebx + 0x50]
push dword [ebx + 0x4c]
push dword [ebx + 0x48]
push dword [ebx + 0x44]
push dword [ebx + 0x40]
push dword [ebx + 0x3c]
push dword [ebx + 0x38]
push dword [ebx + 0x34]
push dword [ebx + 0x30]
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
add esp, 0x78
jmp 0x42f416
cmp eax, 0x28
ja 0x42eef5
push dword [ebx + 0x9c]
push dword [ebx + 0x98]
push dword [ebx + 0x94]
push dword [ebx + 0x90]
push dword [ebx + 0x8c]
push dword [ebx + 0x88]
push dword [ebx + 0x84]
push dword [ebx + 0x80]
push dword [ebx + 0x7c]
push dword [ebx + 0x78]
push dword [ebx + 0x74]
push dword [ebx + 0x70]
push dword [ebx + 0x6c]
push dword [ebx + 0x68]
push dword [ebx + 0x64]
push dword [ebx + 0x60]
push dword [ebx + 0x5c]
push dword [ebx + 0x58]
push dword [ebx + 0x54]
push dword [ebx + 0x50]
push dword [ebx + 0x4c]
push dword [ebx + 0x48]
push dword [ebx + 0x44]
push dword [ebx + 0x40]
push dword [ebx + 0x3c]
push dword [ebx + 0x38]
push dword [ebx + 0x34]
push dword [ebx + 0x30]
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
add esp, 0xa0
jmp 0x42f416
cmp eax, 0x64
ja case.default.0x42f110
push dword [ebx + 0x18c]
push dword [ebx + 0x188]
push dword [ebx + 0x184]
push dword [ebx + 0x180]
push dword [ebx + 0x17c]
push dword [ebx + 0x178]
push dword [ebx + 0x174]
push dword [ebx + 0x170]
push dword [ebx + 0x16c]
push dword [ebx + 0x168]
push dword [ebx + 0x164]
push dword [ebx + 0x160]
push dword [ebx + 0x15c]
push dword [ebx + 0x158]
push dword [ebx + 0x154]
push dword [ebx + 0x150]
push dword [ebx + 0x14c]
push dword [ebx + 0x148]
push dword [ebx + 0x144]
push dword [ebx + 0x140]
push dword [ebx + 0x13c]
push dword [ebx + 0x138]
push dword [ebx + 0x134]
push dword [ebx + 0x130]
push dword [ebx + 0x12c]
push dword [ebx + 0x128]
push dword [ebx + 0x124]
push dword [ebx + 0x120]
push dword [ebx + 0x11c]
push dword [ebx + 0x118]
push dword [ebx + 0x114]
push dword [ebx + 0x110]
push dword [ebx + 0x10c]
push dword [ebx + 0x108]
push dword [ebx + 0x104]
push dword [ebx + 0x100]
push dword [ebx + 0xfc]
push dword [ebx + 0xf8]
push dword [ebx + 0xf4]
push dword [ebx + 0xf0]
push dword [ebx + 0xec]
push dword [ebx + 0xe8]
push dword [ebx + 0xe4]
push dword [ebx + 0xe0]
push dword [ebx + 0xdc]
push dword [ebx + 0xd8]
push dword [ebx + 0xd4]
push dword [ebx + 0xd0]
push dword [ebx + 0xcc]
push dword [ebx + 0xc8]
push dword [ebx + 0xc4]
push dword [ebx + 0xc0]
push dword [ebx + 0xbc]
push dword [ebx + 0xb8]
push dword [ebx + 0xb4]
push dword [ebx + 0xb0]
push dword [ebx + 0xac]
push dword [ebx + 0xa8]
push dword [ebx + 0xa4]
push dword [ebx + 0xa0]
push dword [ebx + 0x9c]
push dword [ebx + 0x98]
push dword [ebx + 0x94]
push dword [ebx + 0x90]
push dword [ebx + 0x8c]
push dword [ebx + 0x88]
push dword [ebx + 0x84]
push dword [ebx + 0x80]
push dword [ebx + 0x7c]
push dword [ebx + 0x78]
push dword [ebx + 0x74]
push dword [ebx + 0x70]
push dword [ebx + 0x6c]
push dword [ebx + 0x68]
push dword [ebx + 0x64]
push dword [ebx + 0x60]
push dword [ebx + 0x5c]
push dword [ebx + 0x58]
push dword [ebx + 0x54]
push dword [ebx + 0x50]
push dword [ebx + 0x4c]
push dword [ebx + 0x48]
push dword [ebx + 0x44]
push dword [ebx + 0x40]
push dword [ebx + 0x3c]
push dword [ebx + 0x38]
push dword [ebx + 0x34]
push dword [ebx + 0x30]
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
add esp, 0x190
jmp 0x42f416
cmp eax, 0x14
ja case.default.0x42f110
mov byte [ebp + 0x4a], 0x20
jmp dword [eax*4 + 0x42f7a8]
call dword [ebp + 0x54]
jmp 0x42f416
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x42f416
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x42f416
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x42f416
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x42f416
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x42f416
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x42f416
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x42f416
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x42f416
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x42f416
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x42f416
push dword [ebx + 0x28]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x42f416
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x42f416
push dword [ebx + 0x30]
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x42f416
push dword [ebx + 0x34]
push dword [ebx + 0x30]
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x42f416
push dword [ebx + 0x38]
push dword [ebx + 0x34]
push dword [ebx + 0x30]
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x42f416
push dword [ebx + 0x3c]
push dword [ebx + 0x38]
push dword [ebx + 0x34]
push dword [ebx + 0x30]
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x42f416
push dword [ebx + 0x40]
push dword [ebx + 0x3c]
push dword [ebx + 0x38]
push dword [ebx + 0x34]
push dword [ebx + 0x30]
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x42f416
push dword [ebx + 0x44]
push dword [ebx + 0x40]
push dword [ebx + 0x3c]
push dword [ebx + 0x38]
push dword [ebx + 0x34]
push dword [ebx + 0x30]
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x42f416
push dword [ebx + 0x48]
push dword [ebx + 0x44]
push dword [ebx + 0x40]
push dword [ebx + 0x3c]
push dword [ebx + 0x38]
push dword [ebx + 0x34]
push dword [ebx + 0x30]
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x42f416
push dword [ebx + 0x4c]
push dword [ebx + 0x48]
push dword [ebx + 0x44]
push dword [ebx + 0x40]
push dword [ebx + 0x3c]
push dword [ebx + 0x38]
push dword [ebx + 0x34]
push dword [ebx + 0x30]
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
mov dword [ebp + 0x5c], eax
cmp dword [ebp - 0x1c], 0
je 0x42f48e
push dword [ebp - 0x1c]
lea ecx, [ebp + 0x78]
call fcn.0044e827
mov ecx, dword [ebp + 0x70]
push 0
lea eax, [ebp + 0x78]
push eax
call fcn.00402ef7
mov esi, dword [ebp + 0x78]
lea ecx, [ebp - 0x1c]
call fcn.00444f6c
test byte [ebp + 0x4a], 0x20
je 0x42f46c
cmp dword [ebp + 0x5c], 0
je 0x42f46c
cmp word [esi], 0x7e
jne 0x42f45c
mov eax, 0xfde9
jmp 0x42f45e
xor eax, eax
push eax
push 0xffffffffffffffff
push dword [ebp + 0x5c]
lea ecx, [ebp - 0x1c]
call fcn.00445027
mov eax, dword [ebp + 0x78]
push dword [ebp - 0x1c]
mov ecx, dword [ebp + 0x70]
add eax, 2
push eax
call fcn.00444692
lea ecx, [ebp - 0x1c]
call fcn.0043e825
lea ecx, [ebp + 0x78]
call fcn.0043e825
cmp byte [ebp + 0x7f], 0
mov eax, dword [ebp + 0x5c]
mov dword [ebp - 0x14], eax
je 0x42f4b1
cmp dword [ebp - 0x44], 0
je 0x42f4b1
push dword [ebp - 0x44]
push dword [ebp - 0x6c]
push dword [ebp + 0x70]
call fcn.00447664
add esp, 0xc
cmp byte [ebp + 0x48], 0
je 0x42f4d1
cmp byte [ebp + 0x48], 2
jne 0x42f4c8
push dword [ebp + 0x5c]
call fcn.0043912d
pop ecx
jmp 0x42f4ce
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x14], eax
cmp byte [ebp + 0x49], 0
jle 0x42f4ec
cmp byte [ebp + 0x5a], 0
jg 0x42f4ec
cmp dword [ebp + 0x30], 0
je 0x42f4ec
push dword [ebp + 0x30]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp byte [ebp + 0x4b], 0
je 0x42f50e
call dword [0x4dd4bc]
mov al, byte [ebp + 0x4b]
mov ecx, dword [ebp + 0x70]
not al
and byte [ecx + 0xe], al
push 0x4ddd50
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [ebp + 0x46], 0
jg 0x42f51d
push dword [ebp - 0x60]
call fcn.0041216b
pop ecx
mov eax, dword [ebp - 0x58]
or eax, dword [ebp - 0x54]
je 0x42f52b
cmp byte [ebp + 0x46], 0
jg 0x42f530
call fcn.00414fdb
cmp byte [ebp + 0x3a], 0
jne 0x42e536
xor esi, esi
mov eax, dword [ebp + 0x18]
mov ax, word [eax]
cmp ax, si
je 0x42f5c6
cmp ax, 0x2a
je 0x42f5c6
cmp byte [ebp + 0x4a], 0
je 0x42f5c6
cmp byte [ebp + 0x1e], 0
mov eax, dword [0x4c72e0]
mov esi, str.0x_X
lea edi, [ebp - 0xb0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x50], eax
mov eax, dword [0x4c72e4]
mov dword [ebp - 0x4c], eax
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0xb0]
jne 0x42f580
lea eax, [ebp - 0x50]
cmp byte [ebp + 0x53], 0
je 0x42f599
cmp byte [ebp + 0x50], 0
je 0x42f599
cmp dword [ebp + 0x5c], 0
jne 0x42f5a8
mov eax, 0x4c1a3c
jmp 0x42f5a8
cmp byte [ebp + 0x5b], 0
je 0x42f5a6
mov word [eax], 0x3c
jmp 0x42f5a8
inc eax
inc eax
push dword [ebp + 0x5c]
push eax
lea eax, [ebp - 0x12c]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
cmp byte [ebp + 0x48], 0
jne 0x42f5c6
and dword [ebp - 0x14], 0
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x42f5d2
call fcn.004106be
mov eax, dword [ebp + 0x18]
cmp word [eax], 0
je 0x42f6a2
cmp word [eax], 0x2a
je 0x42f6a2
cmp byte [ebp + 0x2e], 0
je 0x42f63e
cmp dword [ebp + 0x5c], 0
je 0x42f63e
test byte [ebp + 0x5b], 0x10
jne 0x42f63e
push eax
push dword [ebp + 0x5c]
push dword [ebp + 0x70]
call fcn.0042c5cf
add esp, 0xc
cmp byte [ebp + 0x5b], 0
mov esi, eax
je 0x42f64e
test esi, esi
je 0x42f64e
push dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [esi + 4]
lea eax, [eax + eax + 2]
push eax
push ecx
add ecx, 2
push ecx
call fcn.0041457b
mov eax, dword [esi + 4]
add esp, 0xc
mov word [eax], 0x3c
jmp 0x42f64e
lea ecx, [ebp - 0x12c]
push ecx
mov ecx, dword [ebp + 0x70]
push eax
call fcn.00444692
cmp byte [ebp + 0x2f], 0
je 0x42f6a2
push dword [ebp + 0x18]
lea ecx, [ebp + 0x78]
call fcn.0044e827
push str..args
lea ecx, [ebp + 0x18]
call fcn.00444fd8
push str..addr
lea ecx, [ebp + 0x78]
call fcn.00444fd8
push dword [ebp + 0x18]
movsx eax, byte [ebp + 0x2c]
push eax
push dword [ebp + 0x70]
call fcn.00447664
push dword [ebp + 0x78]
push dword [ebp + 0x54]
push dword [ebp + 0x70]
call fcn.00410676
add esp, 0x18
lea ecx, [ebp + 0x78]
call fcn.0043e825
mov esi, dword [ebp - 0x18]
jmp 0x42f6bc
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + esi*4 + 0x1ac]
test eax, eax
je 0x42f6bc
push eax
call fcn.0040f98b
pop ecx
dec esi
cmp esi, 2
jge 0x42f6a7
mov esi, dword [ebp - 0x14]
lea ecx, [ebp - 0x60]
call fcn.0043e825
lea ecx, [ebp - 0x70]
call fcn.0043e825
lea ecx, [ebp - 0xa4]
call fcn.004a636c
lea ecx, [ebp - 0xa4]
call fcn.0043e825
lea ecx, [ebp - 0x74]
call fcn.0043e825
lea ecx, [ebp - 0x44]
call fcn.0043e825
lea ecx, [ebp - 0x94]
call fcn.0043e825
lea ecx, [ebp + 0x18]
call fcn.0043e825
lea ecx, [ebp - 0x68]
call fcn.0043e825
mov eax, esi
jmp 0x42f77c
lea ecx, [ebp - 0x60]
call fcn.0043e825
lea ecx, [ebp - 0x70]
call fcn.0043e825
lea ecx, [ebp - 0xa4]
call fcn.004a636c
lea ecx, [ebp - 0xa4]
call fcn.0043e825
lea ecx, [ebp - 0x74]
call fcn.0043e825
lea ecx, [ebp - 0x44]
call fcn.0043e825
lea ecx, [ebp - 0x94]
call fcn.0043e825
lea ecx, [ebp + 0x18]
call fcn.0043e825
lea ecx, [ebp - 0x68]
call fcn.0043e825
mov al, byte [ebp + 0x2b]
neg al
sbb eax, eax
and eax, 0x7ff8ffa9
add eax, 0x80070057
pop edi
pop esi
pop ebx
add ebp, 0x68
leave
ret 0x10