Function at 0x42c7c7
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.0044e66d
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.0040f904
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.00444e32
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x94], esi
call fcn.00444e32
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c41e0
mov word [ebp - 0x12c], si
call fcn.00446de5
add esp, 0xc
test al, al
jne 0x42c88c
test bl, bl
mov byte [ebp + 0x3a], al
je 0x42c890
mov byte [ebp + 0x3a], 1
test bl, bl
setne byte [ebp + 0x2b]
cmp byte [ebp + 0x3a], 0
mov byte [ebp + 0x2f], 0
je 0x42c8a8
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 0x42c8ba
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.00444cdb
push dword [ebp - 0x74]
call fcn.0043e587
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 0x42cf24
movzx edx, word [eax + 2]
movsx ecx, byte [ebp + 0x5b]
cmp edx, ecx
jne 0x42cf06
add eax, 4
mov dword [ebp + 0x74], eax
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c647c
call fcn.00446de5
add esp, 0xc
test al, al
je 0x42c960
mov dword [ebp + 0x78], 1
jmp 0x42ceec
push 2
lea eax, [ebp + 0x74]
push eax
push 0x4c6478
call fcn.00446de5
add esp, 0xc
test al, al
je 0x42c980
mov byte [ebp + 0x47], 1
jmp 0x42ceec
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4c52b8
call fcn.00446de5
add esp, 0xc
test al, al
je 0x42c9a0
mov byte [ebp + 0x47], 0
jmp 0x42ceec
push 4
lea eax, [ebp + 0x74]
push eax
push str.nrcd
call fcn.00446de5
add esp, 0xc
test al, al
je 0x42c9c0
mov byte [ebp + 0x46], 2
jmp 0x42ceec
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4c646c
call fcn.00446de5
add esp, 0xc
test al, al
je 0x42c9e0
mov byte [ebp + 0x46], 0
jmp 0x42ceec
mov eax, dword [ebp + 0x74]
mov cx, word [eax]
or cx, 0x20
cmp cx, 0x71
jne 0x42cb6c
mov cx, word [eax + 2]
or cx, 0x20
cmp cx, 0x64
jne 0x42cb6c
add eax, 4
mov dword [ebp + 0x74], eax
push esi
lea eax, [ebp + 0x74]
push eax
push 0x4c1872
call fcn.00446de5
add esp, 0xc
test al, al
je 0x42ca2b
mov byte [ebp + 0x67], 1
jmp 0x42ceec
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c6468
call fcn.00446de5
add esp, 0xc
test al, al
je 0x42ca4b
mov byte [ebp + 0x67], 0x23
jmp 0x42ceec
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c5318
call fcn.00446de5
add esp, 0xc
test al, al
je 0x42ca6b
mov byte [ebp + 0x67], 0x2a
jmp 0x42ceec
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c6464
call fcn.00446de5
add esp, 0xc
test al, al
je 0x42ca8b
mov byte [ebp + 0x67], 0x3e
jmp 0x42ceec
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c6460
call fcn.00446de5
add esp, 0xc
test al, al
je 0x42caab
mov byte [ebp + 0x67], 0x24
jmp 0x42ceec
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c645c
call fcn.00446de5
add esp, 0xc
test al, al
je 0x42cacb
mov byte [ebp + 0x67], 0x40
jmp 0x42ceec
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c6458
call fcn.00446de5
add esp, 0xc
test al, al
je 0x42caeb
mov byte [ebp + 0x67], 0x3d
jmp 0x42ceec
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c6454
call fcn.00446de5
add esp, 0xc
test al, al
je 0x42cb0b
mov byte [ebp + 0x67], 0x3c
jmp 0x42ceec
push 1
push dword [ebp + 0x74]
push str.:____
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x42cb51
add dword [ebp + 0x74], 2
mov eax, dword [ebp + 0x74]
mov dword [ebp - 0x6c], eax
lea eax, [ebp + 0x74]
push eax
call fcn.00405b4a
mov eax, dword [ebp + 0x74]
cmp word [eax], si
pop ecx
je 0x42cb44
mov word [eax], si
add dword [ebp + 0x74], 2
mov eax, dword [ebp - 0x6c]
cmp word [eax], si
je 0x42cba3
mov dword [ebp - 0x64], eax
jmp 0x42cba3
sub dword [ebp + 0x74], 4
cmp byte [ebp + 0x5b], 0x2a
jne 0x42cee2
mov edx, dword [ebp + 0x74]
xor ecx, ecx
mov cx, word [edx]
jmp 0x42cedd
push 4
push eax
push str.arg:
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x42cbb0
add dword [ebp + 0x74], 8
mov eax, dword [ebp + 0x74]
mov dword [ebp + 0x34], eax
lea eax, [ebp + 0x74]
push eax
call fcn.00405b4a
pop ecx
mov eax, dword [ebp + 0x74]
cmp word [eax], si
je 0x42cba3
mov word [eax], si
add dword [ebp + 0x74], 2
lea ecx, [ebp + 0x74]
call fcn.0040f904
jmp 0x42ceec
push 2
lea eax, [ebp + 0x74]
push eax
push 0x4c6444
call fcn.00446de5
add esp, 0xc
test al, al
je 0x42cbd3
mov dword [ebp - 0xc], 1
jmp 0x42ceec
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4c6440
call fcn.00446de5
add esp, 0xc
test al, al
je 0x42cbf2
mov dword [ebp - 0xc], esi
jmp 0x42ceec
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4c643c
call fcn.00446de5
add esp, 0xc
test al, al
je 0x42cc12
mov byte [ebp + 0x2c], 1
jmp 0x42ceec
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4c6438
call fcn.00446de5
add esp, 0xc
test al, al
je 0x42cc32
mov byte [ebp + 0x2d], 1
jmp 0x42ceec
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c5bf4
call fcn.00446de5
add esp, 0xc
test al, al
je 0x42cc52
mov byte [ebp - 0xe], 1
jmp 0x42ceec
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4c1f28
call fcn.00446de5
add esp, 0xc
test al, al
je 0x42cc72
mov byte [ebp + 0x48], 1
jmp 0x42ceec
push 2
lea eax, [ebp + 0x74]
push eax
push 0x4c6434
call fcn.00446de5
add esp, 0xc
test al, al
je 0x42cc92
mov byte [ebp + 0x1e], 1
jmp 0x42ceec
push 4
lea eax, [ebp + 0x74]
push eax
push str.bool
call fcn.00446de5
add esp, 0xc
test al, al
je 0x42ccb2
mov byte [ebp + 0x48], 2
jmp 0x42ceec
push 5
push dword [ebp + 0x74]
push str.sret:
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x42ccd2
add dword [ebp + 0x74], 2
mov byte [ebp + 0x2e], 1
jmp 0x42cce8
push 4
push dword [ebp + 0x74]
push 0x4c641c
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x42cd63
add dword [ebp + 0x74], 8
mov eax, dword [ebp + 0x74]
mov dword [ebp - 0x18], eax
lea eax, [ebp + 0x74]
push eax
call fcn.00405b4a
mov eax, dword [ebp - 0x18]
mov ax, word [eax]
cmp ax, 0x7e
pop ecx
je 0x42cd58
cmp ax, 0x40
je 0x42cd58
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.00444f56
mov ecx, dword [ebp + 0x70]
push esi
lea eax, [ebp + 0x18]
push eax
call fcn.00402ecb
push dword [ebp + 0x18]
mov byte [ebp + 0x52], 1
push 0x4c1f50
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x42cba3
mov eax, dword [ebp + 0x18]
mov byte [ebp + 0x52], 3
mov word [eax], si
jmp 0x42cba3
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
jmp 0x42cb94
push 5
push dword [ebp + 0x74]
push str.vret:
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x42cde3
add dword [ebp + 0x74], 0xa
mov eax, dword [ebp + 0x74]
mov dword [ebp - 4], eax
lea eax, [ebp + 0x74]
push eax
call fcn.00405b4a
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.0044e68a
lea ecx, [ebp + 0x74]
call fcn.0040f904
mov ecx, dword [ebp + 0x70]
push esi
lea eax, [ebp - 0x28]
push eax
call fcn.00402ecb
mov ecx, dword [ebp + 0x70]
push esi
push 0xffffffffffffffff
push esi
push dword [ebp - 0x28]
call fcn.00410d4d
cmp eax, esi
je 0x42cdd6
mov eax, dword [eax + 4]
mov byte [ebp + 0x4b], 1
mov dword [ebp - 0x84], eax
lea ecx, [ebp - 0x28]
call fcn.0043e679
jmp 0x42ceec
push 6
push dword [ebp + 0x74]
push str.ivret:
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x42ce3b
add dword [ebp + 0x74], 0xc
mov eax, dword [ebp + 0x74]
mov dword [ebp - 4], eax
lea eax, [ebp + 0x74]
push eax
call fcn.00405b4a
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.00444f56
lea ecx, [ebp + 0x74]
call fcn.0040f904
mov ecx, dword [ebp + 0x70]
push esi
lea eax, [ebp - 0x44]
push eax
call fcn.00402ecb
jmp 0x42ceec
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c52c4
call fcn.00446de5
add esp, 0xc
test al, al
je 0x42ce5b
mov byte [ebp + 0x50], 1
jmp 0x42ceec
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4c6408
call fcn.00446de5
add esp, 0xc
test al, al
je 0x42ce7c
mov byte [ebp + 0x51], 2
mov byte [ebp + 0x1d], 2
jmp 0x42ceec
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4c6404
call fcn.00446de5
add esp, 0xc
test al, al
je 0x42ce9d
mov byte [ebp + 0x51], 4
mov byte [ebp + 0x1d], 4
jmp 0x42ceec
push 6
lea eax, [ebp + 0x74]
push eax
push str.putref
call fcn.00446de5
add esp, 0xc
test al, al
je 0x42cb55
mov byte [ebp + 0x51], 8
mov byte [ebp + 0x1d], 8
jmp 0x42ceec
mov eax, ecx
call fcn.0040f8eb
test al, al
jne 0x42cee2
cmp cx, 0x2c
je 0x42cf00
add dword [ebp + 0x74], 2
mov eax, dword [ebp + 0x74]
mov cx, word [eax]
cmp cx, si
jne 0x42cec2
lea eax, [ebp + 0x74]
push eax
call fcn.00405b6e
pop ecx
mov eax, dword [ebp + 0x74]
movzx edx, word [eax]
movsx ecx, byte [ebp + 0x5b]
cmp edx, ecx
je 0x42c927
jmp 0x42cf06
lea eax, [edx - 4]
mov dword [ebp + 0x74], eax
cmp byte [ebp + 0x2c], 0
je 0x42cf24
mov ecx, dword [ebp + 0x70]
push 0xffffffffffffff9c
push 0x4c0a1c
push esi
push eax
call fcn.0045a3b3
mov esi, eax
jmp 0x42f4e6
lea ecx, [ebp - 0xa4]
mov dword [ebp + 0x14], esi
call fcn.004450a0
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 0x42cf70
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 0x42cf98
push 0xc
push eax
push str._LoadLibrary
call fcn.0043fac4
add esp, 0xc
test al, al
mov byte [ebp + 0x53], 1
jne 0x42cf9c
mov byte [ebp + 0x53], 0
cmp dword [ebp + 0x40], esi
je 0x42cfbb
push 0xf
push dword [ebp + 0x40]
push str._GetProcAddress
call fcn.0043fac4
add esp, 0xc
test al, al
mov byte [ebp + 0x49], 1
jne 0x42cfbf
mov byte [ebp + 0x49], 0
cmp dword [ebp + 0x40], esi
je 0x42cfde
push 0xc
push dword [ebp + 0x40]
push str._FreeLibrary
call fcn.0043fac4
add esp, 0xc
test al, al
mov byte [ebp + 0x5a], 1
jne 0x42cfe2
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 0x42d014
cmp word [eax], 0x2a
jne 0x42d014
movzx eax, word [eax + 2]
cmp ax, 0x2c
je 0x42d00e
call fcn.0040f91a
test al, al
je 0x42d014
mov byte [ebp + 0x1f], 1
jmp 0x42d034
cmp byte [ebp + 0x3a], 0
mov byte [ebp + 0x1f], 0
jne 0x42d034
cmp byte [ebp + 0x2b], 0
jne 0x42d034
cmp byte [ebp + 0x53], 0
jne 0x42d034
cmp byte [ebp + 0x5a], 0
mov byte [ebp + 0x1c], 1
je 0x42d038
mov byte [ebp + 0x1c], 0
mov al, byte [ebp + 0x49]
or al, byte [ebp + 0x53]
je 0x42d044
or byte [ebp + 0x1e], 0x10
cmp byte [ebp + 0x2d], 0
mov dword [ebp - 0x18], esi
jne 0x42d15b
cmp byte [ebp + 0x1c], 0
je 0x42d15b
mov eax, dword [ebp + 0x7c]
cmp eax, esi
mov dword [ebp + 0x60], eax
jne 0x42d06b
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 0x42d088
mov word [eax], si
mov eax, dword [ebp + 0x60]
inc eax
inc eax
mov dword [ebp + 0x60], eax
cmp dword [ebp + 0x34], esi
je 0x42d11f
lea eax, [ebp + 0x60]
push eax
call fcn.00405b4a
mov eax, dword [ebp + 0x60]
cmp word [eax], si
pop ecx
je 0x42d0aa
mov word [eax], si
add dword [ebp + 0x60], 2
lea ecx, [ebp + 0x60]
call fcn.0040f904
mov dword [ebp + 0x3c], 2
jmp 0x42d115
cmp dword [ebp + 0x3c], 0x6a
jge 0x42d15b
mov ecx, dword [ebp + 0x34]
mov dx, word [ecx]
cmp dx, si
je 0x42d0db
add ecx, 2
cmp word [ecx], si
je 0x42d0db
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.0041a317
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 0x42d0bb
jmp 0x42d15b
mov dword [ebp + 0x3c], 1
cmp eax, esi
je 0x42d15b
mov ecx, dword [ebp + 0x3c]
cmp ecx, 2
jl 0x42d135
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 0x42d155
mov word [eax], si
mov eax, dword [ebp + 0x60]
inc eax
inc eax
mov dword [ebp + 0x60], eax
cmp dword [ebp + 0x3c], 0x6a
jl 0x42d126
mov eax, dword [ebp + 0x40]
cmp eax, esi
mov dword [ebp - 0x70], esi
mov dword [ebp - 4], esi
je 0x42d16c
mov word [eax - 2], si
cmp byte [ebp + 0x1f], 0
jne 0x42d18a
cmp eax, esi
je 0x42d18a
cmp word [eax], 0x2a
jne 0x42d18a
inc dword [ebp + 0x20]
inc eax
inc eax
cmp word [eax], 0x2a
je 0x42d17c
mov dword [ebp + 0x40], eax
xor ecx, ecx
cmp eax, esi
mov dword [ebp + 0x4c], ecx
je 0x42d1fd
cmp dword [ebp + 0x34], esi
je 0x42d1ed
mov edx, dword [ebp + 0x40]
jmp 0x42d1b3
xor eax, eax
mov ax, word [edx]
cmp ax, 0x2c
je 0x42d1b8
call fcn.0040f8eb
test al, al
jne 0x42d1b8
inc edx
inc edx
cmp word [edx], si
jne 0x42d19d
cmp word [edx], si
je 0x42d1fd
lea ecx, [ebp + 0x4c]
mov dword [ebp + 0x4c], edx
call fcn.0040f904
mov eax, dword [ebp + 0x4c]
cmp word [eax], 0x2c
jne 0x42d1da
add dword [ebp + 0x4c], 2
call fcn.0040f904
mov eax, dword [ebp + 0x4c]
cmp word [eax], si
jne 0x42d1e5
mov dword [ebp + 0x4c], esi
mov word [edx], si
mov ecx, dword [ebp + 0x4c]
jmp 0x42d1fd
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 0x42d215
cmp byte [ebp + 0x2e], 0
jne 0x42d215
mov esi, 0x80070057
jmp 0x42f4c8
cmp dword [ebp + 0x34], esi
jne 0x42d22e
cmp ecx, esi
je 0x42d22e
cmp word [ecx], si
je 0x42d22e
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 0x42d2a5
push 0x2e
push edi
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, esi
je 0x42d2a2
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.00405b4a
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp + 0x30]
pop ecx
mov byte [ebp + 0x3b], 1
je 0x42d2a2
cmp word [eax], si
je 0x42d26b
mov word [eax], si
mov eax, dword [ebp + 0x30]
cmp word [eax], 0x3f
jne 0x42d27c
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.00441162
test eax, eax
pop ecx
pop ecx
je 0x42d2a2
cmp dword [ebp + 0xc], esi
jl 0x42d2a2
mov byte [ebp + 0x3b], 7
mov ecx, dword [ebp + 0x4c]
mov al, byte [ebp + 0x52]
and al, 2
mov byte [ebp + 0x13], al
je 0x42d2bb
cmp edi, esi
je 0x42d2bb
cmp word [edi], si
jne 0x42d2bb
mov dword [ebp + 0x40], esi
test al, al
je 0x42d343
cmp ecx, esi
je 0x42d343
cmp dword [ebp + 0x34], esi
je 0x42d325
mov edx, ecx
xor eax, eax
jmp 0x42d2e6
cmp ax, 0x2c
je 0x42d2ee
call fcn.0040f8eb
test al, al
jne 0x42d2ee
inc ecx
inc ecx
mov dword [ebp + 0x4c], ecx
mov ax, word [ecx]
cmp ax, si
jne 0x42d2d2
sub ecx, edx
sar ecx, 1
push ecx
push edx
lea ecx, [ebp + 0x18]
call fcn.00444f56
mov eax, dword [ebp + 0x4c]
cmp word [eax], si
je 0x42d340
lea ecx, [ebp + 0x4c]
mov edx, eax
call fcn.0040f904
mov eax, dword [ebp + 0x4c]
cmp word [eax], 0x2c
jne 0x42d320
add dword [ebp + 0x4c], 2
call fcn.0040f904
mov word [edx], si
jmp 0x42d338
mov ecx, dword [ebp + 0x70]
push esi
push 0x2c
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp + 0x4c]
push eax
call fcn.004398a4
mov eax, dword [ebp + 0x4c]
cmp word [eax], si
jne 0x42d343
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.00444e50
cmp byte [ebp + 0x46], 0
mov byte [ebp - 0xd], 0
jg 0x42d375
push dword [ebp - 0x60]
push 0x208
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
cmp byte [ebp + 0x53], 0
mov eax, dword [ebp + 0x4c]
je 0x42d396
cmp eax, esi
je 0x42d396
cmp word [eax], 0x5e
jne 0x42d396
push 0x2a
pop edx
cmp word [eax + 2], dx
jne 0x42d399
xor edi, edi
inc edi
jmp 0x42d39b
push 0x2a
pop edx
xor edi, edi
cmp byte [ebp + 0x53], 0
je 0x42d3b7
cmp eax, esi
je 0x42d3b7
cmp word [eax], 0x5e
jne 0x42d3b7
cmp word [eax + 2], dx
je 0x42d3b7
mov byte [ebp + 0x2e], 1
jmp 0x42d3bf
cmp edi, esi
mov byte [ebp + 0x2e], 0
je 0x42d3c9
push 2
pop edi
add eax, edi
mov dword [ebp + 0x4c], eax
jmp 0x42d3cc
push 2
pop edi
cmp eax, esi
je 0x42d4be
cmp word [eax], 0x3c
jne 0x42d4be
add eax, edi
mov byte [ebp + 0x5b], 1
mov dword [ebp + 0x4c], eax
cmp byte [ebp + 0x53], 0
je 0x42d4ec
cmp byte [ebp + 0x50], 0
jne 0x42d4ec
mov ecx, dword [ebp + 0x18]
mov cx, word [ecx]
cmp cx, si
je 0x42d4e2
cmp cx, dx
je 0x42d4e2
cmp eax, esi
je 0x42d4ec
cmp word [eax], dx
je 0x42d4ec
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 0x42d452
push 0x8d
lea eax, [ebp + 0x4c]
push esi
push eax
call fcn.0041a317
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 0x42d488
mov word [eax], si
add dword [ebp + 0x78], 2
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.004ab915
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.004ab915
add esp, 0x10
cmp byte [ebp + 0x5b], 0
je 0x42d497
cmp dword [ebp + 0x7c], esi
je 0x42d497
mov byte [ebp + 0x5b], 0x10
push dword [ebp + 0x4c]
lea eax, [ebp + 0x47]
push eax
call fcn.00412066
cmp byte [ebp + 0x5b], 0
pop ecx
pop ecx
je 0x42d4c7
call fcn.00402db5
push dword [ebp + 0x7c]
push dword [ebp + 0x4c]
call dword [0x4dc4e4]
jmp 0x42d4d6
mov byte [ebp + 0x5b], 0
jmp 0x42d3e7
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 0x42f309
mov esi, 0x80070057
jmp 0x42f4c0
cmp byte [ebp + 0x49], 0
je 0x42d594
cmp eax, esi
je 0x42f337
cmp word [eax], dx
mov byte [ebp + 0x4a], 1
jne 0x42d50c
add eax, edi
mov dword [ebp + 0x4c], eax
mov cx, word [eax]
cmp cx, dx
je 0x42d51a
cmp cx, 0x23
jne 0x42d520
mov byte [ebp + 0x50], 1
jmp 0x42d507
cmp word [eax], 0x3c
jne 0x42d52b
add eax, edi
mov dword [ebp + 0x4c], eax
cmp word [eax], si
je 0x42f337
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp + 0x4c]
push eax
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x54], esi
call fcn.00405bc5
mov eax, dword [ebp + 0x4c]
cmp word [eax], si
pop ecx
pop ecx
je 0x42f335
push eax
lea ecx, [ebp + 0x78]
call fcn.00402d29
cmp byte [ebp + 0x50], 0
je 0x42d578
mov ecx, dword [ebp - 0x58]
mov eax, ecx
or eax, dword [ebp - 0x54]
je 0x42d587
push dword [ebp + 0x78]
call fcn.004105bb
jmp 0x42d584
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.0043e679
jmp 0x42f337
cmp byte [ebp + 0x5a], 0
je 0x42d636
cmp eax, esi
je 0x42f337
xor bl, bl
cmp word [eax], dx
mov byte [ebp + 0x4a], 1
jne 0x42d5b6
add eax, edi
mov dword [ebp + 0x4c], eax
mov cx, word [eax]
cmp cx, dx
je 0x42d5c4
cmp cx, 0x23
jne 0x42d5ca
mov byte [ebp + 0x50], 1
jmp 0x42d5b1
cmp word [eax], 0x3c
jne 0x42d5d7
add eax, edi
mov dword [ebp + 0x4c], eax
mov bl, 1
cmp word [eax], si
je 0x42f337
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp + 0x4c]
push eax
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], esi
call fcn.00451a75
cmp byte [ebp + 0x50], 1
pop ecx
pop ecx
jle 0x42d616
mov ecx, dword [ebp - 0x30]
mov eax, ecx
or eax, dword [ebp - 0x2c]
je 0x42f335
call fcn.00410574
mov dword [ebp + 0x5c], esi
jmp 0x42f337
test bl, bl
push dword [ebp - 0x30]
je 0x42d628
call dword [0x4dc4e8]
jmp 0x42f337
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp + 0x5c], eax
jmp 0x42f337
cmp byte [ebp - 0x3d], 0
mov byte [ebp + 0x5a], 0
je 0x42d644
mov byte [ebp + 0x5a], 1
cmp eax, esi
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
jne 0x42d76b
cmp dword [ebp + 0x40], esi
jne 0x42d660
mov dword [ebp + 0x40], 0x4c63a6
jmp 0x42d680
push dword [ebp + 0x40]
push 0x4c63a6
call edi
test eax, eax
je 0x42d680
push dword [ebp + 0x40]
push 0x4c637a
call edi
test eax, eax
jne 0x42d76b
cmp dword [ebp - 0xc], esi
mov byte [ebp + 0x5a], 0xff
jge 0x42d690
mov dword [ebp - 0xc], 0x31
cmp byte [ebp - 0xc], 0
je 0x42d76b
lea ecx, [ebp + 0x78]
call fcn.00444e32
push 0xffffffffffffffff
push str.___exe:_
lea ecx, [ebp + 0x7c]
call fcn.0044e6a3
lea eax, [ebp + 0x7c]
push eax
lea ecx, [ebp + 0x78]
call fcn.0044e703
lea ecx, [ebp + 0x7c]
call fcn.0043e679
push 0x51c
lea ecx, [ebp + 0x78]
call fcn.00444e77
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.0044e6a3
push dword [eax]
lea ecx, [ebp + 0x78]
call fcn.00444e9e
lea ecx, [ebp + 0x7c]
call fcn.0043e679
mov eax, dword [ebp + 4]
cmp eax, esi
jl 0x42d714
mov ecx, dword [ebp - 0x68]
mov word [ecx + eax*2], si
push dword [ebp - 0x68]
lea ecx, [ebp + 0x78]
call fcn.00444e9e
push 0xffffffffffffffff
push 0x4c6334
lea ecx, [ebp + 0x7c]
call fcn.0044e6a3
push dword [eax]
lea ecx, [ebp + 0x78]
call fcn.00444e9e
lea ecx, [ebp + 0x7c]
call fcn.0043e679
push dword [ebp + 0x40]
lea ecx, [ebp + 0x78]
call fcn.00444e9e
mov ecx, dword [ebp + 0x70]
push esi
push esi
push esi
push esi
push esi
push ecx
push dword [ebp + 0x78]
call fcn.0040a810
lea ecx, [ebp + 0x78]
mov esi, eax
call fcn.0043e679
jmp 0x42f4c0
mov eax, dword [ebp + 0x40]
cmp eax, esi
je 0x42f515
cmp word [eax], si
je 0x42f515
cmp byte [ebp + 0x2d], 0
jne 0x42d829
cmp byte [ebp + 0x1c], 0
je 0x42d829
cmp dword [ebp + 0x7c], esi
je 0x42d829
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 0x42d821
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 0x42d7e3
mov eax, dword [edi]
mov ecx, dword [ebp + 0x7c]
mov dword [ecx + edi], eax
jmp 0x42d813
mov ecx, dword [ebp + 0x70]
push 1
push esi
lea eax, [ebp - 0x5c]
push eax
push dword [edi]
call fcn.00456647
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 0x42d7ca
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
lea ecx, [ebp - 0x5c]
call fcn.0043e679
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 0x42d85f
cmp dword [ebp - 0xc], esi
mov dword [ebp + 0x40], 0x4c63a6
mov byte [ebp + 0x5a], 0xff
jge 0x42d85b
mov dword [ebp - 0xc], 0x31
mov byte [ebp + 0x47], 1
push str._DllUnregisterServer
push dword [ebp + 0x40]
call edi
test eax, eax
jne 0x42d88b
cmp dword [ebp - 0xc], esi
mov ecx, 0x4c637a
mov dword [ebp + 0x40], ecx
mov byte [ebp + 0x5a], 0xff
jge 0x42d885
mov dword [ebp - 0xc], 0x71
mov byte [ebp + 0x47], 1
jmp 0x42d88e
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.004449cb
test al, al
jne 0x42d8be
cmp dx, 0x26
je 0x42d8f7
cmp dword [ebp + 0x20], esi
jg 0x42d8f7
mov eax, dword [ebp + 0x74]
cmp word [eax], 0x23
jne 0x42d92b
cmp word [eax + 2], si
jne 0x42d92b
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x90]
push eax
mov dword [ebp - 0x90], ecx
call fcn.00451c34
mov eax, dword [ebp - 0x58]
pop ecx
pop ecx
mov ecx, eax
or ecx, dword [ebp - 0x54]
je 0x42d912
mov dword [ebp + 0x54], eax
cmp byte [ebp + 0x46], 0
mov byte [ebp + 0x5a], 1
jge 0x42d8f1
mov byte [ebp + 0x46], 1
mov byte [ebp + 0x1f], 0
jmp 0x42d92e
push esi
push 0xffffffffffffffff
push esi
push ecx
mov ecx, dword [ebp + 0x70]
call fcn.00410d4d
cmp eax, esi
je 0x42d912
mov eax, dword [eax + 4]
cmp eax, esi
mov dword [ebp + 0x54], eax
jne 0x42d8e3
mov al, byte [ebp + 0x2b]
neg al
sbb eax, eax
and eax, 0x7ff8ffa9
add eax, 0x80070057
mov dword [ebp + 0x5c], eax
jmp 0x42f3cd
mov eax, dword [ebp + 0x54]
mov ecx, dword [ebp + 0x20]
cmp ecx, esi
jle 0x42d947
cmp eax, esi
je 0x42d947
dec ecx
cmp ecx, esi
jl 0x42d947
inc ecx
dec ecx
mov eax, dword [eax]
jne 0x42d93f
mov dword [ebp + 0x54], eax
or dword [ebp - 0x28], 0xffffffff
cmp dword [ebp - 8], esi
mov dword [ebp - 0x20], eax
je 0x42d96c
cmp dword [ebp + 0xc], esi
jge 0x42d96c
cmp eax, esi
mov byte [ebp + 0x7f], 1
jne 0x42d98c
mov dword [ebp - 0x14], 0x80070057
jmp 0x42f309
mov byte [ebp + 0x7f], 0
cmp byte [ebp + 0x2f], 0
je 0x42dc59
mov ecx, dword [ebp + 0xc]
mov dword [ebp + 0x5c], ecx
mov dword [ebp - 0x14], ecx
mov byte [ebp + 0x4a], 0x10
jmp 0x42f335
mov edi, dword [eax]
cmp edi, esi
mov dword [ebp + 0x3c], esi
mov dword [ebp - 0x24], edi
je 0x42da71
push dword [ebp - 8]
push str.Release
call fcn.0043fb42
test al, al
pop ecx
pop ecx
je 0x42d9bb
mov dword [ebp + 0xc], 2
jmp 0x42db83
push dword [ebp - 8]
push str.AddRef
call fcn.0043fb42
test al, al
pop ecx
pop ecx
je 0x42d9da
mov dword [ebp + 0xc], 1
jmp 0x42db83
push dword [ebp - 8]
push str.QueryInterface
call fcn.0043fb42
test al, al
pop ecx
pop ecx
je 0x42d9f5
mov dword [ebp + 0xc], esi
jmp 0x42db83
push dword [ebp - 8]
push str.GetTypeInfoCount
call fcn.0043fb42
test al, al
pop ecx
pop ecx
je 0x42da14
mov dword [ebp + 0xc], 3
jmp 0x42db83
push dword [ebp - 8]
push str.GetTypeInfo
call fcn.0043fb42
test al, al
pop ecx
pop ecx
je 0x42da33
mov dword [ebp + 0xc], 4
jmp 0x42db83
push dword [ebp - 8]
push str.GetIDsOfNames
call fcn.0043fb42
test al, al
pop ecx
pop ecx
je 0x42da52
mov dword [ebp + 0xc], 5
jmp 0x42db83
push dword [ebp - 8]
push str.Invoke
call fcn.0043fb42
test al, al
pop ecx
pop ecx
je 0x42da71
mov dword [ebp + 0xc], 6
jmp 0x42db83
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 0x4ce704
push eax
call dword [ecx + 0x14]
cmp eax, esi
mov ecx, dword [ebp - 0x28]
mov dword [ebp + 0xc], ecx
jne 0x42dc43
cmp ecx, esi
jl 0x42dc43
cmp dword [ebp - 0x24], esi
mov dword [ebp + 4], esi
je 0x42daba
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 0x42dadb
cmp dword [ebp - 0x24], esi
je 0x42dadb
cmp dword [ebp + 0x3c], esi
jne 0x42dae6
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 0x42d970
xor esi, esi
cmp dword [0x4dbbec], esi
jne 0x42daf3
call fcn.00402db5
cmp byte [ebp + 0x51], 0
jge 0x42db03
cmp byte [ebp + 0x2f], 0
mov byte [ebp + 0x52], 1
jle 0x42db28
cmp byte [ebp + 0x2f], 0
mov byte [ebp + 0x52], 0
jle 0x42db28
mov eax, dword [ebp + 0x18]
mov ax, word [eax]
cmp ax, si
je 0x42db28
cmp ax, 0x2a
mov dword [ebp - 0x98], 0x70
jne 0x42db32
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 0x42db9e
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 0x42dbbd
cmp esi, dword [ebp - 0x28]
jne 0x42dc2e
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp + 0x20]
cmp dword [ecx + eax*4], 0
je 0x42db9e
mov dword [ebp + 0xc], eax
mov edi, ecx
or byte [ebp + 0x3b], 6
cmp byte [ebp + 0x4b], 0
mov byte [ebp + 0x7f], 0xff
je 0x42db95
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 0x42d970
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
and dword [ebp + 0x3c], 0
call fcn.0044391b
jmp 0x42d970
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 0x42dc1f
push dword [ebp - 8]
mov eax, dword [edi]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x42dc1f
cmp byte [ebp + 0x51], al
jl 0x42dbfd
movsx eax, byte [ebp + 0x51]
mov ecx, dword [ebp - 0x34]
cmp eax, dword [ecx + 0x10]
jne 0x42dc1f
mov al, byte [ebp + 0x34]
dec al
mov byte [ebp + 0x2c], al
jmp 0x42dc1f
mov eax, dword [ebp + 0x34]
mov eax, dword [edi + eax*4]
test eax, eax
je 0x42dc1f
push eax
call dword [0x4dbbec]
mov eax, dword [ebp + 0x34]
and dword [edi + eax*4], 0
dec dword [ebp + 0x34]
jns 0x42dc07
cmp byte [ebp + 0x2c], 0
jge 0x42db72
inc dword [ebp + 0x20]
cmp dword [ebp + 0x20], 0x7fffffff
jl 0x42db3c
jmp 0x42db9e
cmp byte [ebp + 0x2f], 0
mov dword [ebp - 0x14], 0x80004001
jne 0x42d97d
jmp 0x42f309
cmp byte [ebp + 0x7f], 1
jne 0x42dc67
mov eax, dword [ebp]
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
cmp byte [ebp + 0x2d], 0
jne 0x42e1b3
cmp byte [ebp + 0x1c], 0
je 0x42e1b3
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 4], 0
je 0x42e1b3
cmp byte [ebp + 0x13], 0
je 0x42dca2
mov eax, dword [ecx + 8]
test eax, eax
mov dword [ebp + 0x60], eax
je 0x42dca2
mov dword [ebp - 0x3c], 3
cmp byte [ebp + 0x3b], 0
je 0x42dcb2
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 0x42e1b3
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 0x42e1b3
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 0x42dd16
mov dl, byte [ebp + 0x13]
mov byte [ebp + 0x67], dl
jmp 0x42dd35
cmp word [ecx], 0
je 0x42dd32
mov ecx, dword [ebp - 0x64]
mov dl, byte [ecx]
add ecx, 2
cmp word [ecx], 0
mov byte [ebp + 0x67], dl
je 0x42dd35
mov dword [ebp - 0x64], ecx
jmp 0x42dd35
mov dl, byte [ebp + 0x67]
cmp dl, 0x23
je 0x42de30
cmp dl, 0x2a
je 0x42de30
cmp dl, 0x3c
je 0x42de30
cmp dl, 0x3e
je 0x42de30
cmp dl, 0x24
je 0x42df73
cmp dl, 0x40
je 0x42dfaa
cmp dl, 0x3d
je 0x42dfe1
cmp dl, 0x7e
je 0x42df98
test dl, dl
jne 0x42df39
cmp si, 0x23
je 0x42e12c
cmp si, 0x3c
je 0x42dff4
cmp si, 0x3e
jne 0x42e19a
cmp word [eax], 0x3e
jne 0x42ddae
inc eax
inc eax
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x3c], 0xc
cmp word [eax], 0x3a
jne 0x42dddc
inc eax
inc eax
mov dword [ebp + 0x60], eax
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.00441162
mov eax, dword [ebp + 0x60]
cmp word [eax], 0x3a
pop ecx
pop ecx
jne 0x42dddc
add dword [ebp + 0x60], 2
lea ecx, [ebp + 0x20]
call fcn.00444e32
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.004398a4
mov ecx, dword [ebp + 0x70]
push esi
push 0xffffffffffffffff
push esi
push dword [ebp + 0x20]
mov dword [ebp + 0x60], esi
call fcn.00410d4d
cmp eax, esi
je 0x42de15
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 0x42dfbe
push esi
push edi
call fcn.004adaa0
jmp 0x42dfc7
cmp si, 0x3c
je 0x42df39
cmp si, 0x23
je 0x42df39
cmp si, 0x2a
je 0x42df39
cmp si, 0x24
je 0x42df39
cmp si, 0x40
je 0x42df39
cmp si, 0x3d
je 0x42df39
cmp si, 0x7e
je 0x42df39
cmp dl, 0x23
je 0x42e12c
cmp dl, 0x3c
je 0x42dff4
cmp dl, 0x3e
movsx si, dl
je 0x42dda3
cmp word [eax], 0x2a
jne 0x42dea0
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 0x42dee0
inc eax
inc eax
mov dword [ebp + 0x60], eax
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.00441162
mov eax, dword [ebp + 0x60]
cmp word [eax], 0x3a
pop ecx
pop ecx
jne 0x42dee0
inc eax
inc eax
mov dword [ebp + 0x60], eax
mov cx, word [eax]
cmp cx, 0x7e
jne 0x42e075
inc eax
inc eax
mov edi, 0xfde9
mov dword [ebp + 0x60], eax
lea ecx, [ebp - 0x24]
call fcn.00444e32
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.004398a4
mov ecx, dword [ebp + 0x70]
push esi
push 0xffffffffffffffff
push esi
push dword [ebp - 0x24]
mov dword [ebp + 0x60], esi
call fcn.00410d4d
cmp eax, esi
je 0x42e086
mov eax, dword [eax + 4]
mov dword [ebp + 0x60], eax
jmp 0x42e089
inc eax
movzx ecx, si
inc eax
sub ecx, 0x23
mov dword [ebp + 0x60], eax
mov byte [ebp + 0x52], 1
je 0x42e12c
sub ecx, 7
je 0x42de95
sub ecx, 0x12
je 0x42dff4
dec ecx
je 0x42dfe1
dec ecx
je 0x42dda3
dec ecx
dec ecx
je 0x42dfaa
sub ecx, 0x3e
je 0x42df98
cmp byte [ebp + 0x7f], 1
mov dword [edi], eax
jne 0x42e19a
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 0x42e19a
test eax, eax
mov edi, 0xfde9
je 0x42e0d8
jmp 0x42e09f
xor edi, edi
test eax, eax
jne 0x42e09f
mov eax, dword [ebp + 0x34]
and dword [eax], edi
jmp 0x42e0dd
push dword [eax + 4]
push edi
call fcn.00414409
add dword [ebp + 0x14], 3
add edi, 0xc
add esp, 0xc
lea ecx, [ebp + 0x20]
mov dword [ebp + 0x34], edi
call fcn.0043e679
jmp 0x42e0fd
movsx eax, byte [ebp + 0x52]
mov ecx, dword [ebp + 4]
mov ecx, dword [ecx]
lea eax, [ecx + eax*2]
mov dword [edi], eax
jmp 0x42e19a
cmp word [eax], 0x3c
jne 0x42dfff
inc eax
inc eax
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x3c], 0x14
cmp word [eax], 0x3a
jne 0x42e02d
inc eax
inc eax
mov dword [ebp + 0x60], eax
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.00441162
mov eax, dword [ebp + 0x60]
cmp word [eax], 0x3a
pop ecx
pop ecx
jne 0x42e02d
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.00451c34
cmp byte [ebp + 0x7f], 1
mov eax, dword [ebp - 0x30]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x2c]
mov dword [edi], eax
jne 0x42e068
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 0x42e19a
cmp cx, 0x40
jne 0x42def7
xor edi, edi
jmp 0x42def7
mov eax, dword [ebp + 0x60]
cmp di, si
je 0x42e0ed
cmp eax, esi
je 0x42e0e5
cmp word [eax], si
je 0x42e0ed
lea ecx, [ebp - 0x24]
call fcn.0043e679
push 4
call fcn.004adce8
test eax, eax
pop ecx
je 0x42e0b2
and dword [eax], 0
mov esi, eax
jmp 0x42e0b4
xor esi, esi
movzx eax, di
push eax
push 0xffffffffffffffff
push dword [ebp + 0x60]
mov ecx, esi
call fcn.00444dba
mov eax, dword [esi]
push esi
lea ecx, [ebp - 0xa4]
mov dword [ebp + 0x60], eax
call fcn.0040f92f
mov eax, dword [ebp + 0x60]
mov ecx, dword [ebp + 0x34]
mov dword [ecx], eax
mov edi, dword [ebp + 0x34]
jmp 0x42e19a
mov eax, 0x4c0a1c
mov dword [ebp + 0x60], eax
mov ecx, dword [ebp + 0x34]
mov dword [ecx], eax
lea ecx, [ebp - 0x24]
call fcn.0043e679
mov edi, dword [ebp + 0x34]
cmp byte [ebp + 0x7f], 1
jne 0x42e19a
mov eax, dword [ebp + 0x3c]
cmp eax, 0xc
mov ecx, dword [ebp]
mov word [ecx], ax
jne 0x42e120
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 0x42e126
mov eax, dword [ebp + 0x60]
mov dword [ecx + 8], eax
add dword [ebp], 0x10
jmp 0x42e0dd
cmp word [eax], 0x23
jne 0x42e137
inc eax
inc eax
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x3c], 3
cmp word [eax], 0x3a
jne 0x42e165
inc eax
inc eax
mov dword [ebp + 0x60], eax
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.00441162
mov eax, dword [ebp + 0x60]
cmp word [eax], 0x3a
pop ecx
pop ecx
jne 0x42e165
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.00451c34
cmp byte [ebp + 0x7f], 1
mov eax, dword [ebp - 0x30]
pop ecx
pop ecx
mov dword [edi], eax
jne 0x42e19a
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 0x42e1b3
cmp dword [ebp + 0x14], 0x64
jbe 0x42dce3
cmp byte [ebp + 0x53], 0
je 0x42e1c7
mov ecx, dword [ebp + 0x74]
mov eax, dword [ebp + 0x4c]
mov dword [ebp + 0x74], eax
mov dword [ebp + 0x4c], ecx
jmp 0x42e1ca
mov eax, dword [ebp + 0x74]
and dword [ebp + 8], 0
test eax, eax
mov byte [ebp + 0x49], 0
je 0x42e1ed
cmp word [eax], 0x22
jne 0x42e1e3
mov dword [ebp + 8], 1
push eax
call fcn.0041310a
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 0x42e210
lea eax, [ecx + 2]
cmp word [eax], si
jne 0x42e210
mov ecx, eax
mov dword [ebp + 0x24], ecx
cmp word [ecx], si
je 0x42e1fe
mov di, word [ecx]
cmp di, si
jne 0x42e295
xor eax, eax
mov ax, word [ecx + 2]
push eax
call fcn.004ab8fe
add esp, 4
test al, al
jne 0x42e22f
or byte [ebp + 0x50], 2
cmp di, si
jne 0x42e295
xor eax, eax
lea edx, [ecx + 2]
mov ax, word [edx]
push eax
call fcn.004ab8fe
add esp, 4
test al, al
je 0x42e295
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.00451a75
test eax, eax
pop ecx
pop ecx
jle 0x42d4e2
mov eax, dword [ebp - 0x8c]
test eax, eax
je 0x42d4e2
mov ecx, dword [ebp + 0x24]
mov dword [ebp + 0x30], eax
jmp 0x42e29f
test di, di
jne 0x42e2a5
xor ecx, ecx
mov dword [ebp + 0x24], ecx
cmp byte [ebp + 0x51], 0
jne 0x42e2bc
test ecx, ecx
je 0x42e2bc
cmp word [ecx], 0x2e
jne 0x42e2bc
cmp word [ecx + 2], 0
jne 0x42e2bc
mov byte [ebp + 0x52], 1
jmp 0x42e2c6
cmp byte [ebp + 0x51], 0
mov byte [ebp + 0x52], 0
jne 0x42e339
cmp byte [ebp + 0x1f], 0
je 0x42e339
cmp byte [ebp + 0x50], 0
jne 0x42e339
cmp byte [ebp + 0x52], 0
je 0x42e2df
mov eax, dword [0x4dbc90]
jmp 0x42e2e6
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x42e309
push dword [ebp + 0x74]
lea eax, [ebp + 0x47]
push eax
call fcn.00412066
pop ecx
pop ecx
push dword [ebp + 0x74]
mov byte [ebp - 0xd], 1
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x42e30f
and dword [ebp + 0x5c], 0
jmp 0x42e327
cmp byte [ebp + 0x2b], 0
je 0x42e31e
and dword [ebp + 0x5c], 0
jmp 0x42f309
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0x5c], eax
cmp byte [ebp - 0xd], 1
je 0x42f309
mov esi, dword [ebp + 0x5c]
jmp 0x42f4c0
push dword [ebp + 0x74]
lea eax, [ebp + 0x47]
push eax
call fcn.00412066
cmp dword [ebp + 0x54], 0
pop ecx
pop ecx
jne 0x42e882
cmp byte [ebp + 0x50], 0
mov eax, dword [0x4dbc90]
mov esi, dword [ebp + 0x24]
jne 0x42e38d
cmp dword [ebp + 0x30], 0
jne 0x42e38d
cmp byte [ebp + 0x5a], 0
jne 0x42e38d
test esi, esi
je 0x42e389
cmp word [esi], 0x2e
jne 0x42e5e0
cmp word [esi + 2], 0
jne 0x42e5e0
mov dword [ebp + 0x30], eax
jmp 0x42e395
mov byte [ebp + 0x5a], 2
test esi, esi
je 0x42e746
cmp dword [ebp + 0x30], 0
jne 0x42e75b
cmp byte [ebp + 0x50], 0
je 0x42e5e0
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 0x42e3dc
cmp cx, 0x23
jne 0x42e3dc
xor eax, eax
mov ax, word [esi + 2]
push eax
call fcn.004ab8fe
add esp, 4
test al, al
jne 0x42e427
cmp cx, 0x2a
jne 0x42e3e9
inc esi
inc esi
mov dword [ebp + 0x24], esi
mov edi, esi
cmp word [esi], 0x22
mov dword [ebp - 0x3c], edx
jne 0x42e41a
inc esi
inc esi
push 0x22
lea eax, [ebp + 8]
mov dword [ebp + 0x24], esi
mov dword [ebp + 8], esi
call fcn.00405b85
mov edi, dword [ebp + 8]
cmp word [edi], 0
pop ecx
je 0x42e41a
and word [edi], 0
mov esi, dword [ebp + 0x24]
mov dword [ebp - 0x3c], edi
inc edi
inc edi
cmp word [ebp - 0x4c], 0x2a
jne 0x42e4dd
xor edx, edx
mov eax, dword [0x4dbfb0]
mov dword [ebp + 4], edx
jmp 0x42e439
cmp cx, 0x23
je 0x42e441
inc edi
inc edi
mov cx, word [edi]
cmp cx, dx
jne 0x42e431
cmp word [edi], dx
mov esi, edi
je 0x42e465
mov cx, word [esi]
cmp cx, 0x7c
je 0x42e460
cmp cx, 0x3a
je 0x42e460
inc esi
inc esi
cmp word [esi], dx
jne 0x42e448
jmp 0x42e465
mov word [esi], dx
inc esi
inc esi
cmp word [esi], dx
jne 0x42e46f
mov esi, str.EXEDATA
cmp word [edi], 0x23
jne 0x42e4e9
mov ecx, dword [ebp - 0x3c]
cmp ecx, edx
mov word [edi], dx
je 0x42e482
mov word [ecx], dx
mov ecx, dword [ebp + 0x24]
cmp word [ecx], 0x2e
jne 0x42e49e
lea edx, [ecx + 2]
cmp word [edx], 0
jne 0x42e49e
mov eax, dword [0x4dbc90]
mov ecx, edx
mov dword [ebp + 0x24], ecx
cmp word [ecx], 0
je 0x42e4b2
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 0x42e4cc
push 0
lea ecx, [ebp - 0x80]
push ecx
push esi
push edi
push eax
call fcn.004153c9
add esp, 0x14
cmp dword [ebp + 4], 0
je 0x42e4e9
push dword [ebp + 4]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x42e4e9
lea eax, [ebp - 0x80]
push eax
push esi
call fcn.00414d70
pop ecx
pop ecx
mov edi, dword [ebp - 0x80]
test edi, edi
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x4c], eax
jne 0x42e519
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.0043e679
jmp 0x42e74c
lea eax, [ebp - 0x70]
push 0x28
push eax
call fcn.00410be7
mov esi, eax
test esi, esi
pop ecx
pop ecx
je 0x42e533
mov ecx, esi
call fcn.004149a0
push dword [ebp - 0x4c]
add esi, 4
push edi
mov ecx, esi
mov dword [ebp - 4], esi
call fcn.0041ccbf
test eax, eax
je 0x42e5c2
cmp byte [ebp + 0x53], 0
je 0x42e59d
mov ecx, dword [ebp + 0x4c]
xor edi, edi
xor eax, eax
cmp ecx, edi
je 0x42e55e
cmp word [ecx], di
jne 0x42e566
mov ecx, dword [ebp + 0x18]
cmp word [ecx], di
je 0x42e568
mov eax, ecx
cmp eax, edi
mov dword [ebp + 0x5c], esi
mov byte [ebp + 0x4a], 1
je 0x42e590
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.0042c200
add esp, 0x10
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x80]
call fcn.0043e679
jmp 0x42f335
push dword [ebp + 0x40]
lea ecx, [ebp - 0x4c]
call fcn.00402d29
push dword [eax]
mov ecx, esi
call fcn.004105bb
lea ecx, [ebp - 0x4c]
mov dword [ebp + 0x54], eax
call fcn.0043e679
cmp dword [ebp + 0x54], 0
jne 0x42e5d8
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 0x42e87d
xor edi, edi
mov di, word [esi]
and edi, 0xffdf
je 0x42e5f5
mov edi, dword [esi]
and edi, 0xffdfffdf
cmp byte [ebp + 0x52], 0
jne 0x42e736
cmp byte [ebp + 0x53], 0
jne 0x42e72b
cmp edi, 0x45004b
jne 0x42e656
push esi
push dword [0x4da318]
call fcn.0043fb03
test al, al
pop ecx
pop ecx
jne 0x42e64c
push 8
push dword [ebp + 0x24]
push dword [0x4da318]
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x42e6dd
mov esi, dword [ebp + 0x24]
cmp word [esi + 0x10], 0
jne 0x42e6e0
mov eax, dword [0x4dbff8]
jmp 0x42e736
cmp edi, 0x530055
jne 0x42e69b
push esi
push dword [0x4da314]
call fcn.0043fb03
test al, al
pop ecx
pop ecx
jne 0x42e691
push 6
push dword [ebp + 0x24]
push dword [0x4da314]
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x42e6dd
mov esi, dword [ebp + 0x24]
cmp word [esi + 0xc], 0
jne 0x42e6e0
mov eax, dword [0x4dbff4]
jmp 0x42e736
cmp edi, 0x440047
jne 0x42e6e0
push esi
push dword [0x4da310]
call fcn.0043fb03
test al, al
pop ecx
pop ecx
jne 0x42e6d6
push 5
push dword [ebp + 0x24]
push dword [0x4da310]
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x42e6dd
mov esi, dword [ebp + 0x24]
cmp word [esi + 0xa], 0
jne 0x42e6e0
mov eax, dword [0x4dbffc]
jmp 0x42e736
mov esi, dword [ebp + 0x24]
cmp dword [0x4dc000], 0
je 0x42e72b
cmp edi, 0x4c004f
jne 0x42e72b
push esi
push dword [0x4da30c]
call fcn.0043fb03
test al, al
pop ecx
pop ecx
jne 0x42e724
push 5
push dword [ebp + 0x24]
push dword [0x4da30c]
call fcn.0043fac4
mov esi, dword [ebp + 0x24]
add esp, 0xc
test al, al
je 0x42e72b
cmp word [esi + 0xa], 0
jne 0x42e72b
mov eax, dword [0x4dc000]
jmp 0x42e736
push esi
mov byte [ebp + 0x49], 1
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
mov dword [ebp + 0x30], eax
jne 0x42e75b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0x5c], eax
cmp dword [ebp + 0x30], 0
jne 0x42e75b
cmp byte [ebp + 0x3a], 0
jne 0x42e92d
jmp 0x42f309
push dword [ebp + 0x40]
lea ecx, [ebp + 0x20]
call fcn.00402d29
test byte [ebp + 0x51], 2
push dword [ebp + 0x20]
je 0x42e779
mov ecx, dword [ebp + 0x30]
call fcn.004105bb
jmp 0x42e782
push dword [ebp + 0x30]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
mov dword [ebp + 0x54], eax
jne 0x42e87a
cmp byte [ebp + 0x2d], al
je 0x42e871
cmp byte [ebp + 0x67], al
jne 0x42e871
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 0x42e871
cmp ax, 0x57
je 0x42e871
push 4
call fcn.004adce8
mov esi, eax
test esi, esi
pop ecx
je 0x42e7ed
mov eax, dword [ebp + 8]
add eax, 2
push eax
mov ecx, esi
call fcn.00444e50
jmp 0x42e7ef
xor esi, esi
push esi
lea ecx, [ebp - 0xa4]
call fcn.0040f92f
push dword [ebp + 8]
push dword [ebp + 0x40]
push dword [esi]
call fcn.00405b32
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 0x42e82f
mov ecx, dword [ebp + 0x30]
call fcn.004105bb
jmp 0x42e838
push dword [ebp + 0x30]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
mov dword [ebp + 0x54], eax
jne 0x42e87a
push dword [ebp + 0x40]
lea ecx, [ebp - 0x4c]
mov word [esi], 0x41
call fcn.00402d29
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.0043e679
cmp dword [ebp + 0x54], 0
je 0x42e871
mov byte [ebp + 0x67], 0x40
jmp 0x42e87a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0x5c], eax
lea ecx, [ebp + 0x20]
call fcn.0043e679
and dword [ebp - 0x6c], 0
cmp byte [ebp + 0x4b], 0
je 0x42e89e
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 0x42e8a9
mov eax, dword [ebp - 0x20]
mov dword [ebx], eax
mov eax, dword [ebp + 0xc]
test eax, eax
jl 0x42e908
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 0x42e908
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 0x42e908
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 0x42e8df
cmp byte [ebp + 0x3a], 0
je 0x42e974
cmp byte [ebp + 0x49], 1
jne 0x42e92d
cmp byte [ebp + 0x5a], 0
jg 0x42e92d
cmp dword [ebp + 0x30], 0
je 0x42e92d
push dword [ebp + 0x30]
mov byte [ebp + 0x49], 2
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp byte [ebp + 0x2b], 0
je 0x42e93b
mov esi, dword [ebp + 0x54]
jmp 0x42f4c0
cmp dword [ebp + 0x54], 0
je 0x42e959
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.0044451e
cmp byte [ebp + 0x49], 2
jmp 0x42e32b
cmp dword [ebp + 0x54], 0
mov byte [ebp + 0x4b], 0
je case.default.0x42ef0b
test byte [ebp - 0xc], 7
je 0x42e9de
call fcn.0044391b
xor edi, edi
cmp dword [ebp - 0xc], edi
je 0x42e9de
cmp dword [0x4dc4c0], edi
je 0x42e9de
cmp dword [0x4dc4c4], edi
je 0x42e9de
push 0x4dcd58
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, dword [ebp + 0x70]
mov al, byte [esi + 0xe]
test al, 2
jne 0x42e9d3
test al, 1
jne 0x42e9c1
mov byte [ebp + 0x4b], 1
or byte [ebp + 0x4b], 2
or al, 3
push edi
mov byte [esi + 0xe], al
call dword [0x4dc4c0]
jmp 0x42e9de
push 0x4dcd58
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [ebp + 0x48], 0
je 0x42e9ec
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp byte [ebp + 0x7f], 1
jne 0x42ea28
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 0x4ce704
push dword [ebp - 0x28]
push esi
call dword [edi + 0x18]
jmp 0x42f211
cmp byte [ebp + 0x2d], 0
je 0x42eadd
xor eax, eax
cmp byte [ebp + 0x67], 0x40
mov dword [ebp - 0x38], eax
mov byte [ebp + 0x4a], 1
mov word [ebp + 0x7a], ax
jne 0x42ea5f
cmp dword [ebp + 0x4c], eax
je 0x42ea65
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp + 0x4c]
lea ecx, [ebp - 0x38]
call fcn.00444dba
mov eax, dword [ebp - 0x38]
mov dword [ebp + 0x4c], eax
cmp dword [ebp + 0x4c], 0
jne 0x42ea6b
lea eax, [ebp + 0x7a]
mov dword [ebp + 0x4c], eax
mov edi, dword [ebp + 0x70]
mov ebx, dword [0x4dbfb0]
push 0
push edi
call fcn.00412996
mov esi, dword [ebp + 0x40]
test esi, esi
pop ecx
pop ecx
mov dword [ebp + 8], 5
je 0x42eab9
push 0x12
push esi
push str.InstallHinfSection
call fcn.0043fac4
add esp, 0xc
test al, al
je 0x42eab9
xor eax, eax
cmp word [esi + 0x24], ax
je 0x42eab4
cmp word [esi + 0x26], ax
mov word [esi + 0x24], 1
jne 0x42eab9
mov dword [ebp + 8], eax
xor ebx, ebx
push dword [ebp + 8]
push dword [ebp + 0x4c]
push ebx
push dword [edi + 0x28]
call fcn.0043eccd
pop ecx
push eax
call dword [ebp + 0x54]
lea ecx, [ebp - 0x38]
mov dword [ebp + 0x5c], eax
call fcn.0043e679
jmp case.default.0x42ef0b
cmp dword [ebp + 0x78], 1
mov eax, dword [ebp + 0x14]
jne 0x42eefe
cmp eax, 0x64
ja 0x42eaf3
mov byte [ebp + 0x4a], 0x20
cmp eax, 7
ja case.default.0x42eafc
jmp dword [eax*4 + 0x42f583]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x42eb13
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
pop ecx
pop ecx
jmp 0x42f211
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
add esp, 0xc
jmp 0x42f211
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
add esp, 0x10
jmp 0x42f211
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 0x42f211
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 0x42f211
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 0x42f211
cmp eax, 0x14
ja 0x42ebe1
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 0x42f211
cmp eax, 0x1e
ja 0x42ec4a
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 0x42f211
cmp eax, 0x28
ja 0x42ecf0
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 0x42f211
cmp eax, 0x64
ja case.default.0x42ef0b
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 0x42f211
cmp eax, 0x14
ja case.default.0x42ef0b
mov byte [ebp + 0x4a], 0x20
jmp dword [eax*4 + 0x42f5a3]
call dword [ebp + 0x54]
jmp 0x42f211
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x42f211
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x42f211
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x42f211
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x42f211
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x42f211
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 0x42f211
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 0x42f211
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 0x42f211
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 0x42f211
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 0x42f211
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 0x42f211
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 0x42f211
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 0x42f211
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 0x42f211
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 0x42f211
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 0x42f211
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 0x42f211
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 0x42f211
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 0x42f211
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 0x42f289
push dword [ebp - 0x1c]
lea ecx, [ebp + 0x78]
call fcn.0044e66d
mov ecx, dword [ebp + 0x70]
push 0
lea eax, [ebp + 0x78]
push eax
call fcn.00402ecb
mov esi, dword [ebp + 0x78]
lea ecx, [ebp - 0x1c]
call fcn.00444e32
test byte [ebp + 0x4a], 0x20
je 0x42f267
cmp dword [ebp + 0x5c], 0
je 0x42f267
cmp word [esi], 0x7e
jne 0x42f257
mov eax, 0xfde9
jmp 0x42f259
xor eax, eax
push eax
push 0xffffffffffffffff
push dword [ebp + 0x5c]
lea ecx, [ebp - 0x1c]
call fcn.00444eed
mov eax, dword [ebp + 0x78]
push dword [ebp - 0x1c]
mov ecx, dword [ebp + 0x70]
add eax, 2
push eax
call fcn.0044451e
lea ecx, [ebp - 0x1c]
call fcn.0043e679
lea ecx, [ebp + 0x78]
call fcn.0043e679
cmp byte [ebp + 0x7f], 0
mov eax, dword [ebp + 0x5c]
mov dword [ebp - 0x14], eax
je 0x42f2ac
cmp dword [ebp - 0x44], 0
je 0x42f2ac
push dword [ebp - 0x44]
push dword [ebp - 0x6c]
push dword [ebp + 0x70]
call fcn.0044749d
add esp, 0xc
cmp byte [ebp + 0x48], 0
je 0x42f2cc
cmp byte [ebp + 0x48], 2
jne 0x42f2c3
push dword [ebp + 0x5c]
call fcn.00438f28
pop ecx
jmp 0x42f2c9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x14], eax
cmp byte [ebp + 0x49], 0
jle 0x42f2e7
cmp byte [ebp + 0x5a], 0
jg 0x42f2e7
cmp dword [ebp + 0x30], 0
je 0x42f2e7
push dword [ebp + 0x30]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp byte [ebp + 0x4b], 0
je 0x42f309
call dword [0x4dc4c4]
mov al, byte [ebp + 0x4b]
mov ecx, dword [ebp + 0x70]
not al
and byte [ecx + 0xe], al
push 0x4dcd58
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [ebp + 0x46], 0
jg 0x42f318
push dword [ebp - 0x60]
call fcn.00412024
pop ecx
mov eax, dword [ebp - 0x58]
or eax, dword [ebp - 0x54]
je 0x42f326
cmp byte [ebp + 0x46], 0
jg 0x42f32b
call fcn.00414dd6
cmp byte [ebp + 0x3a], 0
jne 0x42e331
xor esi, esi
mov eax, dword [ebp + 0x18]
mov ax, word [eax]
cmp ax, si
je 0x42f3c1
cmp ax, 0x2a
je 0x42f3c1
cmp byte [ebp + 0x4a], 0
je 0x42f3c1
cmp byte [ebp + 0x1e], 0
mov eax, dword [0x4c62c8]
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 [0x4c62cc]
mov dword [ebp - 0x4c], eax
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0xb0]
jne 0x42f37b
lea eax, [ebp - 0x50]
cmp byte [ebp + 0x53], 0
je 0x42f394
cmp byte [ebp + 0x50], 0
je 0x42f394
cmp dword [ebp + 0x5c], 0
jne 0x42f3a3
mov eax, 0x4c0a1c
jmp 0x42f3a3
cmp byte [ebp + 0x5b], 0
je 0x42f3a1
mov word [eax], 0x3c
jmp 0x42f3a3
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 0x42f3c1
and dword [ebp - 0x14], 0
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x42f3cd
call fcn.00410574
mov eax, dword [ebp + 0x18]
cmp word [eax], 0
je 0x42f49d
cmp word [eax], 0x2a
je 0x42f49d
cmp byte [ebp + 0x2e], 0
je 0x42f439
cmp dword [ebp + 0x5c], 0
je 0x42f439
test byte [ebp + 0x5b], 0x10
jne 0x42f439
push eax
push dword [ebp + 0x5c]
push dword [ebp + 0x70]
call fcn.0042c3ca
add esp, 0xc
cmp byte [ebp + 0x5b], 0
mov esi, eax
je 0x42f449
test esi, esi
je 0x42f449
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.004143bf
mov eax, dword [esi + 4]
add esp, 0xc
mov word [eax], 0x3c
jmp 0x42f449
lea ecx, [ebp - 0x12c]
push ecx
mov ecx, dword [ebp + 0x70]
push eax
call fcn.0044451e
cmp byte [ebp + 0x2f], 0
je 0x42f49d
push dword [ebp + 0x18]
lea ecx, [ebp + 0x78]
call fcn.0044e66d
push str..args
lea ecx, [ebp + 0x18]
call fcn.00444e9e
push str..addr
lea ecx, [ebp + 0x78]
call fcn.00444e9e
push dword [ebp + 0x18]
movsx eax, byte [ebp + 0x2c]
push eax
push dword [ebp + 0x70]
call fcn.0044749d
push dword [ebp + 0x78]
push dword [ebp + 0x54]
push dword [ebp + 0x70]
call fcn.0044e73f
add esp, 0x18
lea ecx, [ebp + 0x78]
call fcn.0043e679
mov esi, dword [ebp - 0x18]
jmp 0x42f4b7
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + esi*4 + 0x1ac]
test eax, eax
je 0x42f4b7
push eax
call fcn.0040f858
pop ecx
dec esi
cmp esi, 2
jge 0x42f4a2
mov esi, dword [ebp - 0x14]
lea ecx, [ebp - 0x60]
call fcn.0043e679
lea ecx, [ebp - 0x70]
call fcn.0043e679
lea ecx, [ebp - 0xa4]
call fcn.00457924
lea ecx, [ebp - 0xa4]
call fcn.0043e679
lea ecx, [ebp - 0x74]
call fcn.0043e679
lea ecx, [ebp - 0x44]
call fcn.0043e679
lea ecx, [ebp - 0x94]
call fcn.0043e679
lea ecx, [ebp + 0x18]
call fcn.0043e679
lea ecx, [ebp - 0x68]
call fcn.0043e679
mov eax, esi
jmp 0x42f577
lea ecx, [ebp - 0x60]
call fcn.0043e679
lea ecx, [ebp - 0x70]
call fcn.0043e679
lea ecx, [ebp - 0xa4]
call fcn.00457924
lea ecx, [ebp - 0xa4]
call fcn.0043e679
lea ecx, [ebp - 0x74]
call fcn.0043e679
lea ecx, [ebp - 0x44]
call fcn.0043e679
lea ecx, [ebp - 0x94]
call fcn.0043e679
lea ecx, [ebp + 0x18]
call fcn.0043e679
lea ecx, [ebp - 0x68]
call fcn.0043e679
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