Function at 0x42de53
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.004505eb
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.0040fb41
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.0044658e
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x94], esi
call fcn.0044658e
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4ca2b8
mov word [ebp - 0x12c], si
call fcn.004485c7
add esp, 0xc
test al, al
jne 0x42df18
test bl, bl
mov byte [ebp + 0x3a], al
je 0x42df1c
mov byte [ebp + 0x3a], 1
test bl, bl
setne byte [ebp + 0x2b]
cmp byte [ebp + 0x3a], 0
mov byte [ebp + 0x2f], 0
je 0x42df34
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 0x42df46
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.00446437
push dword [ebp - 0x74]
call fcn.0043fdd1
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 0x42e5b0
movzx edx, word [eax + 2]
movsx ecx, byte [ebp + 0x5b]
cmp edx, ecx
jne 0x42e592
add eax, 4
mov dword [ebp + 0x74], eax
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4cc5d4
call fcn.004485c7
add esp, 0xc
test al, al
je 0x42dfec
mov dword [ebp + 0x78], 1
jmp 0x42e578
push 2
lea eax, [ebp + 0x74]
push eax
push 0x4cc5d0
call fcn.004485c7
add esp, 0xc
test al, al
je 0x42e00c
mov byte [ebp + 0x47], 1
jmp 0x42e578
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4cb3e8
call fcn.004485c7
add esp, 0xc
test al, al
je 0x42e02c
mov byte [ebp + 0x47], 0
jmp 0x42e578
push 4
lea eax, [ebp + 0x74]
push eax
push str.nrcd
call fcn.004485c7
add esp, 0xc
test al, al
je 0x42e04c
mov byte [ebp + 0x46], 2
jmp 0x42e578
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4cc5c4
call fcn.004485c7
add esp, 0xc
test al, al
je 0x42e06c
mov byte [ebp + 0x46], 0
jmp 0x42e578
mov eax, dword [ebp + 0x74]
mov cx, word [eax]
or cx, 0x20
cmp cx, 0x71
jne 0x42e1f8
mov cx, word [eax + 2]
or cx, 0x20
cmp cx, 0x64
jne 0x42e1f8
add eax, 4
mov dword [ebp + 0x74], eax
push esi
lea eax, [ebp + 0x74]
push eax
push 0x4c78c2
call fcn.004485c7
add esp, 0xc
test al, al
je 0x42e0b7
mov byte [ebp + 0x67], 1
jmp 0x42e578
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4cc5c0
call fcn.004485c7
add esp, 0xc
test al, al
je 0x42e0d7
mov byte [ebp + 0x67], 0x23
jmp 0x42e578
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4cb448
call fcn.004485c7
add esp, 0xc
test al, al
je 0x42e0f7
mov byte [ebp + 0x67], 0x2a
jmp 0x42e578
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4cc5bc
call fcn.004485c7
add esp, 0xc
test al, al
je 0x42e117
mov byte [ebp + 0x67], 0x3e
jmp 0x42e578
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4cc5b8
call fcn.004485c7
add esp, 0xc
test al, al
je 0x42e137
mov byte [ebp + 0x67], 0x24
jmp 0x42e578
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4cc5b4
call fcn.004485c7
add esp, 0xc
test al, al
je 0x42e157
mov byte [ebp + 0x67], 0x40
jmp 0x42e578
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4cc5b0
call fcn.004485c7
add esp, 0xc
test al, al
je 0x42e177
mov byte [ebp + 0x67], 0x3d
jmp 0x42e578
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4cc5ac
call fcn.004485c7
add esp, 0xc
test al, al
je 0x42e197
mov byte [ebp + 0x67], 0x3c
jmp 0x42e578
push 1
push dword [ebp + 0x74]
push str.:____
call fcn.00441277
add esp, 0xc
test al, al
je 0x42e1dd
add dword [ebp + 0x74], 2
mov eax, dword [ebp + 0x74]
mov dword [ebp - 0x6c], eax
lea eax, [ebp + 0x74]
push eax
call fcn.00405c44
mov eax, dword [ebp + 0x74]
cmp word [eax], si
pop ecx
je 0x42e1d0
mov word [eax], si
add dword [ebp + 0x74], 2
mov eax, dword [ebp - 0x6c]
cmp word [eax], si
je 0x42e22f
mov dword [ebp - 0x64], eax
jmp 0x42e22f
sub dword [ebp + 0x74], 4
cmp byte [ebp + 0x5b], 0x2a
jne 0x42e56e
mov edx, dword [ebp + 0x74]
xor ecx, ecx
mov cx, word [edx]
jmp 0x42e569
push 4
push eax
push str.arg:
call fcn.00441277
add esp, 0xc
test al, al
je 0x42e23c
add dword [ebp + 0x74], 8
mov eax, dword [ebp + 0x74]
mov dword [ebp + 0x34], eax
lea eax, [ebp + 0x74]
push eax
call fcn.00405c44
pop ecx
mov eax, dword [ebp + 0x74]
cmp word [eax], si
je 0x42e22f
mov word [eax], si
add dword [ebp + 0x74], 2
lea ecx, [ebp + 0x74]
call fcn.0040fb41
jmp 0x42e578
push 2
lea eax, [ebp + 0x74]
push eax
push 0x4cc59c
call fcn.004485c7
add esp, 0xc
test al, al
je 0x42e25f
mov dword [ebp - 0xc], 1
jmp 0x42e578
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4cc598
call fcn.004485c7
add esp, 0xc
test al, al
je 0x42e27e
mov dword [ebp - 0xc], esi
jmp 0x42e578
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4cc594
call fcn.004485c7
add esp, 0xc
test al, al
je 0x42e29e
mov byte [ebp + 0x2c], 1
jmp 0x42e578
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4cc590
call fcn.004485c7
add esp, 0xc
test al, al
je 0x42e2be
mov byte [ebp + 0x2d], 1
jmp 0x42e578
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4cbcf4
call fcn.004485c7
add esp, 0xc
test al, al
je 0x42e2de
mov byte [ebp - 0xe], 1
jmp 0x42e578
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4c7f78
call fcn.004485c7
add esp, 0xc
test al, al
je 0x42e2fe
mov byte [ebp + 0x48], 1
jmp 0x42e578
push 2
lea eax, [ebp + 0x74]
push eax
push 0x4cc58c
call fcn.004485c7
add esp, 0xc
test al, al
je 0x42e31e
mov byte [ebp + 0x1e], 1
jmp 0x42e578
push 4
lea eax, [ebp + 0x74]
push eax
push str.bool
call fcn.004485c7
add esp, 0xc
test al, al
je 0x42e33e
mov byte [ebp + 0x48], 2
jmp 0x42e578
push 5
push dword [ebp + 0x74]
push str.sret:
call fcn.00441277
add esp, 0xc
test al, al
je 0x42e35e
add dword [ebp + 0x74], 2
mov byte [ebp + 0x2e], 1
jmp 0x42e374
push 4
push dword [ebp + 0x74]
push 0x4cc574
call fcn.00441277
add esp, 0xc
test al, al
je 0x42e3ef
add dword [ebp + 0x74], 8
mov eax, dword [ebp + 0x74]
mov dword [ebp - 0x18], eax
lea eax, [ebp + 0x74]
push eax
call fcn.00405c44
mov eax, dword [ebp - 0x18]
mov ax, word [eax]
cmp ax, 0x7e
pop ecx
je 0x42e3e4
cmp ax, 0x40
je 0x42e3e4
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.004466b2
mov ecx, dword [ebp + 0x70]
push esi
lea eax, [ebp + 0x18]
push eax
call fcn.00402f5e
push dword [ebp + 0x18]
mov byte [ebp + 0x52], 1
push 0x4c7fa0
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x42e22f
mov eax, dword [ebp + 0x18]
mov byte [ebp + 0x52], 3
mov word [eax], si
jmp 0x42e22f
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
jmp 0x42e220
push 5
push dword [ebp + 0x74]
push str.vret:
call fcn.00441277
add esp, 0xc
test al, al
je 0x42e46f
add dword [ebp + 0x74], 0xa
mov eax, dword [ebp + 0x74]
mov dword [ebp - 4], eax
lea eax, [ebp + 0x74]
push eax
call fcn.00405c44
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.00450608
lea ecx, [ebp + 0x74]
call fcn.0040fb41
mov ecx, dword [ebp + 0x70]
push esi
lea eax, [ebp - 0x28]
push eax
call fcn.00402f5e
mov ecx, dword [ebp + 0x70]
push esi
push 0xffffffffffffffff
push esi
push dword [ebp - 0x28]
call fcn.00411019
cmp eax, esi
je 0x42e462
mov eax, dword [eax + 4]
mov byte [ebp + 0x4b], 1
mov dword [ebp - 0x84], eax
lea ecx, [ebp - 0x28]
call fcn.0043fe25
jmp 0x42e578
push 6
push dword [ebp + 0x74]
push str.ivret:
call fcn.00441277
add esp, 0xc
test al, al
je 0x42e4c7
add dword [ebp + 0x74], 0xc
mov eax, dword [ebp + 0x74]
mov dword [ebp - 4], eax
lea eax, [ebp + 0x74]
push eax
call fcn.00405c44
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.004466b2
lea ecx, [ebp + 0x74]
call fcn.0040fb41
mov ecx, dword [ebp + 0x70]
push esi
lea eax, [ebp - 0x44]
push eax
call fcn.00402f5e
jmp 0x42e578
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4cb3f4
call fcn.004485c7
add esp, 0xc
test al, al
je 0x42e4e7
mov byte [ebp + 0x50], 1
jmp 0x42e578
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4cc560
call fcn.004485c7
add esp, 0xc
test al, al
je 0x42e508
mov byte [ebp + 0x51], 2
mov byte [ebp + 0x1d], 2
jmp 0x42e578
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4cc55c
call fcn.004485c7
add esp, 0xc
test al, al
je 0x42e529
mov byte [ebp + 0x51], 4
mov byte [ebp + 0x1d], 4
jmp 0x42e578
push 6
lea eax, [ebp + 0x74]
push eax
push str.putref
call fcn.004485c7
add esp, 0xc
test al, al
je 0x42e1e1
mov byte [ebp + 0x51], 8
mov byte [ebp + 0x1d], 8
jmp 0x42e578
mov eax, ecx
call fcn.004b1b03
test al, al
jne 0x42e56e
cmp cx, 0x2c
je 0x42e58c
add dword [ebp + 0x74], 2
mov eax, dword [ebp + 0x74]
mov cx, word [eax]
cmp cx, si
jne 0x42e54e
lea eax, [ebp + 0x74]
push eax
call fcn.00408f31
pop ecx
mov eax, dword [ebp + 0x74]
movzx edx, word [eax]
movsx ecx, byte [ebp + 0x5b]
cmp edx, ecx
je 0x42dfb3
jmp 0x42e592
lea eax, [edx - 4]
mov dword [ebp + 0x74], eax
cmp byte [ebp + 0x2c], 0
je 0x42e5b0
mov ecx, dword [ebp + 0x70]
push 0xffffffffffffff9c
push 0x4c6a64
push esi
push eax
call fcn.0045d556
mov esi, eax
jmp 0x430b72
lea ecx, [ebp - 0xa4]
mov dword [ebp + 0x14], esi
call fcn.0044684a
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 0x42e5fc
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 0x42e624
push 0xc
push eax
push str._LoadLibrary
call fcn.00441277
add esp, 0xc
test al, al
mov byte [ebp + 0x53], 1
jne 0x42e628
mov byte [ebp + 0x53], 0
cmp dword [ebp + 0x40], esi
je 0x42e647
push 0xf
push dword [ebp + 0x40]
push str._GetProcAddress
call fcn.00441277
add esp, 0xc
test al, al
mov byte [ebp + 0x49], 1
jne 0x42e64b
mov byte [ebp + 0x49], 0
cmp dword [ebp + 0x40], esi
je 0x42e66a
push 0xc
push dword [ebp + 0x40]
push str._FreeLibrary
call fcn.00441277
add esp, 0xc
test al, al
mov byte [ebp + 0x5a], 1
jne 0x42e66e
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 0x42e6a0
cmp word [eax], 0x2a
jne 0x42e6a0
movzx eax, word [eax + 2]
cmp ax, 0x2c
je 0x42e69a
call fcn.0040fb57
test al, al
je 0x42e6a0
mov byte [ebp + 0x1f], 1
jmp 0x42e6c0
cmp byte [ebp + 0x3a], 0
mov byte [ebp + 0x1f], 0
jne 0x42e6c0
cmp byte [ebp + 0x2b], 0
jne 0x42e6c0
cmp byte [ebp + 0x53], 0
jne 0x42e6c0
cmp byte [ebp + 0x5a], 0
mov byte [ebp + 0x1c], 1
je 0x42e6c4
mov byte [ebp + 0x1c], 0
mov al, byte [ebp + 0x49]
or al, byte [ebp + 0x53]
je 0x42e6d0
or byte [ebp + 0x1e], 0x10
cmp byte [ebp + 0x2d], 0
mov dword [ebp - 0x18], esi
jne 0x42e7e7
cmp byte [ebp + 0x1c], 0
je 0x42e7e7
mov eax, dword [ebp + 0x7c]
cmp eax, esi
mov dword [ebp + 0x60], eax
jne 0x42e6f7
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 0x42e714
mov word [eax], si
mov eax, dword [ebp + 0x60]
inc eax
inc eax
mov dword [ebp + 0x60], eax
cmp dword [ebp + 0x34], esi
je 0x42e7ab
lea eax, [ebp + 0x60]
push eax
call fcn.00405c44
mov eax, dword [ebp + 0x60]
cmp word [eax], si
pop ecx
je 0x42e736
mov word [eax], si
add dword [ebp + 0x60], 2
lea ecx, [ebp + 0x60]
call fcn.0040fb41
mov dword [ebp + 0x3c], 2
jmp 0x42e7a1
cmp dword [ebp + 0x3c], 0x6a
jge 0x42e7e7
mov ecx, dword [ebp + 0x34]
mov dx, word [ecx]
cmp dx, si
je 0x42e767
add ecx, 2
cmp word [ecx], si
je 0x42e767
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.0041a9b6
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 0x42e747
jmp 0x42e7e7
mov dword [ebp + 0x3c], 1
cmp eax, esi
je 0x42e7e7
mov ecx, dword [ebp + 0x3c]
cmp ecx, 2
jl 0x42e7c1
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 0x42e7e1
mov word [eax], si
mov eax, dword [ebp + 0x60]
inc eax
inc eax
mov dword [ebp + 0x60], eax
cmp dword [ebp + 0x3c], 0x6a
jl 0x42e7b2
mov eax, dword [ebp + 0x40]
cmp eax, esi
mov dword [ebp - 0x70], esi
mov dword [ebp - 4], esi
je 0x42e7f8
mov word [eax - 2], si
cmp byte [ebp + 0x1f], 0
jne 0x42e816
cmp eax, esi
je 0x42e816
cmp word [eax], 0x2a
jne 0x42e816
inc dword [ebp + 0x20]
inc eax
inc eax
cmp word [eax], 0x2a
je 0x42e808
mov dword [ebp + 0x40], eax
xor ecx, ecx
cmp eax, esi
mov dword [ebp + 0x4c], ecx
je 0x42e889
cmp dword [ebp + 0x34], esi
je 0x42e879
mov edx, dword [ebp + 0x40]
jmp 0x42e83f
xor eax, eax
mov ax, word [edx]
cmp ax, 0x2c
je 0x42e844
call fcn.004b1b03
test al, al
jne 0x42e844
inc edx
inc edx
cmp word [edx], si
jne 0x42e829
cmp word [edx], si
je 0x42e889
lea ecx, [ebp + 0x4c]
mov dword [ebp + 0x4c], edx
call fcn.0040fb41
mov eax, dword [ebp + 0x4c]
cmp word [eax], 0x2c
jne 0x42e866
add dword [ebp + 0x4c], 2
call fcn.0040fb41
mov eax, dword [ebp + 0x4c]
cmp word [eax], si
jne 0x42e871
mov dword [ebp + 0x4c], esi
mov word [edx], si
mov ecx, dword [ebp + 0x4c]
jmp 0x42e889
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 0x42e8a1
cmp byte [ebp + 0x2e], 0
jne 0x42e8a1
mov esi, 0x80070057
jmp 0x430b54
cmp dword [ebp + 0x34], esi
jne 0x42e8ba
cmp ecx, esi
je 0x42e8ba
cmp word [ecx], si
je 0x42e8ba
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 0x42e931
push 0x2e
push edi
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, esi
je 0x42e92e
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.00405c44
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp + 0x30]
pop ecx
mov byte [ebp + 0x3b], 1
je 0x42e92e
cmp word [eax], si
je 0x42e8f7
mov word [eax], si
mov eax, dword [ebp + 0x30]
cmp word [eax], 0x3f
jne 0x42e908
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.004429d6
test eax, eax
pop ecx
pop ecx
je 0x42e92e
cmp dword [ebp + 0xc], esi
jl 0x42e92e
mov byte [ebp + 0x3b], 7
mov ecx, dword [ebp + 0x4c]
mov al, byte [ebp + 0x52]
and al, 2
mov byte [ebp + 0x13], al
je 0x42e947
cmp edi, esi
je 0x42e947
cmp word [edi], si
jne 0x42e947
mov dword [ebp + 0x40], esi
test al, al
je 0x42e9cf
cmp ecx, esi
je 0x42e9cf
cmp dword [ebp + 0x34], esi
je 0x42e9b1
mov edx, ecx
xor eax, eax
jmp 0x42e972
cmp ax, 0x2c
je 0x42e97a
call fcn.004b1b03
test al, al
jne 0x42e97a
inc ecx
inc ecx
mov dword [ebp + 0x4c], ecx
mov ax, word [ecx]
cmp ax, si
jne 0x42e95e
sub ecx, edx
sar ecx, 1
push ecx
push edx
lea ecx, [ebp + 0x18]
call fcn.004466b2
mov eax, dword [ebp + 0x4c]
cmp word [eax], si
je 0x42e9cc
lea ecx, [ebp + 0x4c]
mov edx, eax
call fcn.0040fb41
mov eax, dword [ebp + 0x4c]
cmp word [eax], 0x2c
jne 0x42e9ac
add dword [ebp + 0x4c], 2
call fcn.0040fb41
mov word [edx], si
jmp 0x42e9c4
mov ecx, dword [ebp + 0x70]
push esi
push 0x2c
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp + 0x4c]
push eax
call fcn.0043afff
mov eax, dword [ebp + 0x4c]
cmp word [eax], si
jne 0x42e9cf
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.004465ac
cmp byte [ebp + 0x46], 0
mov byte [ebp - 0xd], 0
jg 0x42ea01
push dword [ebp - 0x60]
push 0x208
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
cmp byte [ebp + 0x53], 0
mov eax, dword [ebp + 0x4c]
je 0x42ea22
cmp eax, esi
je 0x42ea22
cmp word [eax], 0x5e
jne 0x42ea22
push 0x2a
pop edx
cmp word [eax + 2], dx
jne 0x42ea25
xor edi, edi
inc edi
jmp 0x42ea27
push 0x2a
pop edx
xor edi, edi
cmp byte [ebp + 0x53], 0
je 0x42ea43
cmp eax, esi
je 0x42ea43
cmp word [eax], 0x5e
jne 0x42ea43
cmp word [eax + 2], dx
je 0x42ea43
mov byte [ebp + 0x2e], 1
jmp 0x42ea4b
cmp edi, esi
mov byte [ebp + 0x2e], 0
je 0x42ea55
push 2
pop edi
add eax, edi
mov dword [ebp + 0x4c], eax
jmp 0x42ea58
push 2
pop edi
cmp eax, esi
je 0x42eb4a
cmp word [eax], 0x3c
jne 0x42eb4a
add eax, edi
mov byte [ebp + 0x5b], 1
mov dword [ebp + 0x4c], eax
cmp byte [ebp + 0x53], 0
je 0x42eb78
cmp byte [ebp + 0x50], 0
jne 0x42eb78
mov ecx, dword [ebp + 0x18]
mov cx, word [ecx]
cmp cx, si
je 0x42eb6e
cmp cx, dx
je 0x42eb6e
cmp eax, esi
je 0x42eb78
cmp word [eax], dx
je 0x42eb78
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 0x42eade
push 0x8d
lea eax, [ebp + 0x4c]
push esi
push eax
call fcn.0041a9b6
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 0x42eb14
mov word [eax], si
add dword [ebp + 0x78], 2
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00414dce
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00414dce
add esp, 0x10
cmp byte [ebp + 0x5b], 0
je 0x42eb23
cmp dword [ebp + 0x7c], esi
je 0x42eb23
mov byte [ebp + 0x5b], 0x10
push dword [ebp + 0x4c]
lea eax, [ebp + 0x47]
push eax
call fcn.004124e0
cmp byte [ebp + 0x5b], 0
pop ecx
pop ecx
je 0x42eb53
call fcn.00402e48
push dword [ebp + 0x7c]
push dword [ebp + 0x4c]
call dword [0x4e3500]
jmp 0x42eb62
mov byte [ebp + 0x5b], 0
jmp 0x42ea73
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 0x430995
mov esi, 0x80070057
jmp 0x430b4c
cmp byte [ebp + 0x49], 0
je 0x42ec20
cmp eax, esi
je 0x4309c3
cmp word [eax], dx
mov byte [ebp + 0x4a], 1
jne 0x42eb98
add eax, edi
mov dword [ebp + 0x4c], eax
mov cx, word [eax]
cmp cx, dx
je 0x42eba6
cmp cx, 0x23
jne 0x42ebac
mov byte [ebp + 0x50], 1
jmp 0x42eb93
cmp word [eax], 0x3c
jne 0x42ebb7
add eax, edi
mov dword [ebp + 0x4c], eax
cmp word [eax], si
je 0x4309c3
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp + 0x4c]
push eax
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x54], esi
call fcn.0047f1ca
mov eax, dword [ebp + 0x4c]
cmp word [eax], si
pop ecx
pop ecx
je 0x4309c1
push eax
lea ecx, [ebp + 0x78]
call fcn.00402da4
cmp byte [ebp + 0x50], 0
je 0x42ec04
mov ecx, dword [ebp - 0x58]
mov eax, ecx
or eax, dword [ebp - 0x54]
je 0x42ec13
push dword [ebp + 0x78]
call fcn.00410872
jmp 0x42ec10
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.0043fe25
jmp 0x4309c3
cmp byte [ebp + 0x5a], 0
je 0x42ecc2
cmp eax, esi
je 0x4309c3
xor bl, bl
cmp word [eax], dx
mov byte [ebp + 0x4a], 1
jne 0x42ec42
add eax, edi
mov dword [ebp + 0x4c], eax
mov cx, word [eax]
cmp cx, dx
je 0x42ec50
cmp cx, 0x23
jne 0x42ec56
mov byte [ebp + 0x50], 1
jmp 0x42ec3d
cmp word [eax], 0x3c
jne 0x42ec63
add eax, edi
mov dword [ebp + 0x4c], eax
mov bl, 1
cmp word [eax], si
je 0x4309c3
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp + 0x4c]
push eax
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], esi
call fcn.00453c1f
cmp byte [ebp + 0x50], 1
pop ecx
pop ecx
jle 0x42eca2
mov ecx, dword [ebp - 0x30]
mov eax, ecx
or eax, dword [ebp - 0x2c]
je 0x4309c1
call fcn.0041082b
mov dword [ebp + 0x5c], esi
jmp 0x4309c3
test bl, bl
push dword [ebp - 0x30]
je 0x42ecb4
call dword [0x4e3504]
jmp 0x4309c3
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp + 0x5c], eax
jmp 0x4309c3
cmp byte [ebp - 0x3d], 0
mov byte [ebp + 0x5a], 0
je 0x42ecd0
mov byte [ebp + 0x5a], 1
cmp eax, esi
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
jne 0x42edf7
cmp dword [ebp + 0x40], esi
jne 0x42ecec
mov dword [ebp + 0x40], 0x4cc4fe
jmp 0x42ed0c
push dword [ebp + 0x40]
push 0x4cc4fe
call edi
test eax, eax
je 0x42ed0c
push dword [ebp + 0x40]
push 0x4cc4d2
call edi
test eax, eax
jne 0x42edf7
cmp dword [ebp - 0xc], esi
mov byte [ebp + 0x5a], 0xff
jge 0x42ed1c
mov dword [ebp - 0xc], 0x31
cmp byte [ebp - 0xc], 0
je 0x42edf7
lea ecx, [ebp + 0x78]
call fcn.0044658e
push 0xffffffffffffffff
push str.___exe:_
lea ecx, [ebp + 0x7c]
call fcn.00450621
lea eax, [ebp + 0x7c]
push eax
lea ecx, [ebp + 0x78]
call fcn.0045069a
lea ecx, [ebp + 0x7c]
call fcn.0043fe25
push 0x51c
lea ecx, [ebp + 0x78]
call fcn.004465d3
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.00450621
push dword [eax]
lea ecx, [ebp + 0x78]
call fcn.004465fa
lea ecx, [ebp + 0x7c]
call fcn.0043fe25
mov eax, dword [ebp + 4]
cmp eax, esi
jl 0x42eda0
mov ecx, dword [ebp - 0x68]
mov word [ecx + eax*2], si
push dword [ebp - 0x68]
lea ecx, [ebp + 0x78]
call fcn.004465fa
push 0xffffffffffffffff
push 0x4cc48c
lea ecx, [ebp + 0x7c]
call fcn.00450621
push dword [eax]
lea ecx, [ebp + 0x78]
call fcn.004465fa
lea ecx, [ebp + 0x7c]
call fcn.0043fe25
push dword [ebp + 0x40]
lea ecx, [ebp + 0x78]
call fcn.004465fa
mov ecx, dword [ebp + 0x70]
push esi
push esi
push esi
push esi
push esi
push ecx
push dword [ebp + 0x78]
call fcn.0040a949
lea ecx, [ebp + 0x78]
mov esi, eax
call fcn.0043fe25
jmp 0x430b4c
mov eax, dword [ebp + 0x40]
cmp eax, esi
je 0x430ba1
cmp word [eax], si
je 0x430ba1
cmp byte [ebp + 0x2d], 0
jne 0x42eeb5
cmp byte [ebp + 0x1c], 0
je 0x42eeb5
cmp dword [ebp + 0x7c], esi
je 0x42eeb5
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 0x42eead
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 0x42ee6f
mov eax, dword [edi]
mov ecx, dword [ebp + 0x7c]
mov dword [ecx + edi], eax
jmp 0x42ee9f
mov ecx, dword [ebp + 0x70]
push 1
push esi
lea eax, [ebp - 0x5c]
push eax
push dword [edi]
call fcn.0045937c
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 0x42ee56
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
lea ecx, [ebp - 0x5c]
call fcn.0043fe25
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 0x42eeeb
cmp dword [ebp - 0xc], esi
mov dword [ebp + 0x40], 0x4cc4fe
mov byte [ebp + 0x5a], 0xff
jge 0x42eee7
mov dword [ebp - 0xc], 0x31
mov byte [ebp + 0x47], 1
push str._DllUnregisterServer
push dword [ebp + 0x40]
call edi
test eax, eax
jne 0x42ef17
cmp dword [ebp - 0xc], esi
mov ecx, 0x4cc4d2
mov dword [ebp + 0x40], ecx
mov byte [ebp + 0x5a], 0xff
jge 0x42ef11
mov dword [ebp - 0xc], 0x71
mov byte [ebp + 0x47], 1
jmp 0x42ef1a
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.00414dee
test al, al
jne 0x42ef4a
cmp dx, 0x26
je 0x42ef83
cmp dword [ebp + 0x20], esi
jg 0x42ef83
mov eax, dword [ebp + 0x74]
cmp word [eax], 0x23
jne 0x42efb7
cmp word [eax + 2], si
jne 0x42efb7
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x90]
push eax
mov dword [ebp - 0x90], ecx
call fcn.00453dde
mov eax, dword [ebp - 0x58]
pop ecx
pop ecx
mov ecx, eax
or ecx, dword [ebp - 0x54]
je 0x42ef9e
mov dword [ebp + 0x54], eax
cmp byte [ebp + 0x46], 0
mov byte [ebp + 0x5a], 1
jge 0x42ef7d
mov byte [ebp + 0x46], 1
mov byte [ebp + 0x1f], 0
jmp 0x42efba
push esi
push 0xffffffffffffffff
push esi
push ecx
mov ecx, dword [ebp + 0x70]
call fcn.00411019
cmp eax, esi
je 0x42ef9e
mov eax, dword [eax + 4]
cmp eax, esi
mov dword [ebp + 0x54], eax
jne 0x42ef6f
mov al, byte [ebp + 0x2b]
neg al
sbb eax, eax
and eax, 0x7ff8ffa9
add eax, 0x80070057
mov dword [ebp + 0x5c], eax
jmp 0x430a59
mov eax, dword [ebp + 0x54]
mov ecx, dword [ebp + 0x20]
cmp ecx, esi
jle 0x42efd3
cmp eax, esi
je 0x42efd3
dec ecx
cmp ecx, esi
jl 0x42efd3
inc ecx
dec ecx
mov eax, dword [eax]
jne 0x42efcb
mov dword [ebp + 0x54], eax
or dword [ebp - 0x28], 0xffffffff
cmp dword [ebp - 8], esi
mov dword [ebp - 0x20], eax
je 0x42eff8
cmp dword [ebp + 0xc], esi
jge 0x42eff8
cmp eax, esi
mov byte [ebp + 0x7f], 1
jne 0x42f018
mov dword [ebp - 0x14], 0x80070057
jmp 0x430995
mov byte [ebp + 0x7f], 0
cmp byte [ebp + 0x2f], 0
je 0x42f2e5
mov ecx, dword [ebp + 0xc]
mov dword [ebp + 0x5c], ecx
mov dword [ebp - 0x14], ecx
mov byte [ebp + 0x4a], 0x10
jmp 0x4309c1
mov edi, dword [eax]
cmp edi, esi
mov dword [ebp + 0x3c], esi
mov dword [ebp - 0x24], edi
je 0x42f0fd
push dword [ebp - 8]
push str.Release
call fcn.004412f5
test al, al
pop ecx
pop ecx
je 0x42f047
mov dword [ebp + 0xc], 2
jmp 0x42f20f
push dword [ebp - 8]
push str.AddRef
call fcn.004412f5
test al, al
pop ecx
pop ecx
je 0x42f066
mov dword [ebp + 0xc], 1
jmp 0x42f20f
push dword [ebp - 8]
push str.QueryInterface
call fcn.004412f5
test al, al
pop ecx
pop ecx
je 0x42f081
mov dword [ebp + 0xc], esi
jmp 0x42f20f
push dword [ebp - 8]
push str.GetTypeInfoCount
call fcn.004412f5
test al, al
pop ecx
pop ecx
je 0x42f0a0
mov dword [ebp + 0xc], 3
jmp 0x42f20f
push dword [ebp - 8]
push str.GetTypeInfo
call fcn.004412f5
test al, al
pop ecx
pop ecx
je 0x42f0bf
mov dword [ebp + 0xc], 4
jmp 0x42f20f
push dword [ebp - 8]
push str.GetIDsOfNames
call fcn.004412f5
test al, al
pop ecx
pop ecx
je 0x42f0de
mov dword [ebp + 0xc], 5
jmp 0x42f20f
push dword [ebp - 8]
push str.Invoke
call fcn.004412f5
test al, al
pop ecx
pop ecx
je 0x42f0fd
mov dword [ebp + 0xc], 6
jmp 0x42f20f
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 0x4d4d64
push eax
call dword [ecx + 0x14]
cmp eax, esi
mov ecx, dword [ebp - 0x28]
mov dword [ebp + 0xc], ecx
jne 0x42f2cf
cmp ecx, esi
jl 0x42f2cf
cmp dword [ebp - 0x24], esi
mov dword [ebp + 4], esi
je 0x42f146
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 0x42f167
cmp dword [ebp - 0x24], esi
je 0x42f167
cmp dword [ebp + 0x3c], esi
jne 0x42f172
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 0x42effc
xor esi, esi
cmp dword [0x4e2bec], esi
jne 0x42f17f
call fcn.00402e48
cmp byte [ebp + 0x51], 0
jge 0x42f18f
cmp byte [ebp + 0x2f], 0
mov byte [ebp + 0x52], 1
jle 0x42f1b4
cmp byte [ebp + 0x2f], 0
mov byte [ebp + 0x52], 0
jle 0x42f1b4
mov eax, dword [ebp + 0x18]
mov ax, word [eax]
cmp ax, si
je 0x42f1b4
cmp ax, 0x2a
mov dword [ebp - 0x98], 0x70
jne 0x42f1be
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 0x42f22a
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 0x42f249
cmp esi, dword [ebp - 0x28]
jne 0x42f2ba
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp + 0x20]
cmp dword [ecx + eax*4], 0
je 0x42f22a
mov dword [ebp + 0xc], eax
mov edi, ecx
or byte [ebp + 0x3b], 6
cmp byte [ebp + 0x4b], 0
mov byte [ebp + 0x7f], 0xff
je 0x42f221
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 0x42effc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
and dword [ebp + 0x3c], 0
call fcn.004453c5
jmp 0x42effc
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 0x42f2ab
push dword [ebp - 8]
mov eax, dword [edi]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x42f2ab
cmp byte [ebp + 0x51], al
jl 0x42f289
movsx eax, byte [ebp + 0x51]
mov ecx, dword [ebp - 0x34]
cmp eax, dword [ecx + 0x10]
jne 0x42f2ab
mov al, byte [ebp + 0x34]
dec al
mov byte [ebp + 0x2c], al
jmp 0x42f2ab
mov eax, dword [ebp + 0x34]
mov eax, dword [edi + eax*4]
test eax, eax
je 0x42f2ab
push eax
call dword [0x4e2bec]
mov eax, dword [ebp + 0x34]
and dword [edi + eax*4], 0
dec dword [ebp + 0x34]
jns 0x42f293
cmp byte [ebp + 0x2c], 0
jge 0x42f1fe
inc dword [ebp + 0x20]
cmp dword [ebp + 0x20], 0x7fffffff
jl 0x42f1c8
jmp 0x42f22a
cmp byte [ebp + 0x2f], 0
mov dword [ebp - 0x14], 0x80004001
jne 0x42f009
jmp 0x430995
cmp byte [ebp + 0x7f], 1
jne 0x42f2f3
mov eax, dword [ebp]
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
cmp byte [ebp + 0x2d], 0
jne 0x42f83f
cmp byte [ebp + 0x1c], 0
je 0x42f83f
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 4], 0
je 0x42f83f
cmp byte [ebp + 0x13], 0
je 0x42f32e
mov eax, dword [ecx + 8]
test eax, eax
mov dword [ebp + 0x60], eax
je 0x42f32e
mov dword [ebp - 0x3c], 3
cmp byte [ebp + 0x3b], 0
je 0x42f33e
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 0x42f83f
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 0x42f83f
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 0x42f3a2
mov dl, byte [ebp + 0x13]
mov byte [ebp + 0x67], dl
jmp 0x42f3c1
cmp word [ecx], 0
je 0x42f3be
mov ecx, dword [ebp - 0x64]
mov dl, byte [ecx]
add ecx, 2
cmp word [ecx], 0
mov byte [ebp + 0x67], dl
je 0x42f3c1
mov dword [ebp - 0x64], ecx
jmp 0x42f3c1
mov dl, byte [ebp + 0x67]
cmp dl, 0x23
je 0x42f4bc
cmp dl, 0x2a
je 0x42f4bc
cmp dl, 0x3c
je 0x42f4bc
cmp dl, 0x3e
je 0x42f4bc
cmp dl, 0x24
je 0x42f5ff
cmp dl, 0x40
je 0x42f636
cmp dl, 0x3d
je 0x42f66d
cmp dl, 0x7e
je 0x42f624
test dl, dl
jne 0x42f5c5
cmp si, 0x23
je 0x42f7b8
cmp si, 0x3c
je 0x42f680
cmp si, 0x3e
jne 0x42f826
cmp word [eax], 0x3e
jne 0x42f43a
inc eax
inc eax
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x3c], 0xc
cmp word [eax], 0x3a
jne 0x42f468
inc eax
inc eax
mov dword [ebp + 0x60], eax
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.004429d6
mov eax, dword [ebp + 0x60]
cmp word [eax], 0x3a
pop ecx
pop ecx
jne 0x42f468
add dword [ebp + 0x60], 2
lea ecx, [ebp + 0x20]
call fcn.0044658e
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.0043afff
mov ecx, dword [ebp + 0x70]
push esi
push 0xffffffffffffffff
push esi
push dword [ebp + 0x20]
mov dword [ebp + 0x60], esi
call fcn.00411019
cmp eax, esi
je 0x42f4a1
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 0x42f64a
push esi
push edi
call fcn.004b4520
jmp 0x42f653
cmp si, 0x3c
je 0x42f5c5
cmp si, 0x23
je 0x42f5c5
cmp si, 0x2a
je 0x42f5c5
cmp si, 0x24
je 0x42f5c5
cmp si, 0x40
je 0x42f5c5
cmp si, 0x3d
je 0x42f5c5
cmp si, 0x7e
je 0x42f5c5
cmp dl, 0x23
je 0x42f7b8
cmp dl, 0x3c
je 0x42f680
cmp dl, 0x3e
movsx si, dl
je 0x42f42f
cmp word [eax], 0x2a
jne 0x42f52c
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 0x42f56c
inc eax
inc eax
mov dword [ebp + 0x60], eax
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.004429d6
mov eax, dword [ebp + 0x60]
cmp word [eax], 0x3a
pop ecx
pop ecx
jne 0x42f56c
inc eax
inc eax
mov dword [ebp + 0x60], eax
mov cx, word [eax]
cmp cx, 0x7e
jne 0x42f701
inc eax
inc eax
mov edi, 0xfde9
mov dword [ebp + 0x60], eax
lea ecx, [ebp - 0x24]
call fcn.0044658e
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.0043afff
mov ecx, dword [ebp + 0x70]
push esi
push 0xffffffffffffffff
push esi
push dword [ebp - 0x24]
mov dword [ebp + 0x60], esi
call fcn.00411019
cmp eax, esi
je 0x42f712
mov eax, dword [eax + 4]
mov dword [ebp + 0x60], eax
jmp 0x42f715
inc eax
movzx ecx, si
inc eax
sub ecx, 0x23
mov dword [ebp + 0x60], eax
mov byte [ebp + 0x52], 1
je 0x42f7b8
sub ecx, 7
je 0x42f521
sub ecx, 0x12
je 0x42f680
dec ecx
je 0x42f66d
dec ecx
je 0x42f42f
dec ecx
dec ecx
je 0x42f636
sub ecx, 0x3e
je 0x42f624
cmp byte [ebp + 0x7f], 1
mov dword [edi], eax
jne 0x42f826
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 0x42f826
test eax, eax
mov edi, 0xfde9
je 0x42f764
jmp 0x42f72b
xor edi, edi
test eax, eax
jne 0x42f72b
mov eax, dword [ebp + 0x34]
and dword [eax], edi
jmp 0x42f769
push dword [eax + 4]
push edi
call fcn.00414839
add dword [ebp + 0x14], 3
add edi, 0xc
add esp, 0xc
lea ecx, [ebp + 0x20]
mov dword [ebp + 0x34], edi
call fcn.0043fe25
jmp 0x42f789
movsx eax, byte [ebp + 0x52]
mov ecx, dword [ebp + 4]
mov ecx, dword [ecx]
lea eax, [ecx + eax*2]
mov dword [edi], eax
jmp 0x42f826
cmp word [eax], 0x3c
jne 0x42f68b
inc eax
inc eax
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x3c], 0x14
cmp word [eax], 0x3a
jne 0x42f6b9
inc eax
inc eax
mov dword [ebp + 0x60], eax
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.004429d6
mov eax, dword [ebp + 0x60]
cmp word [eax], 0x3a
pop ecx
pop ecx
jne 0x42f6b9
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.00453dde
cmp byte [ebp + 0x7f], 1
mov eax, dword [ebp - 0x30]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x2c]
mov dword [edi], eax
jne 0x42f6f4
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 0x42f826
cmp cx, 0x40
jne 0x42f583
xor edi, edi
jmp 0x42f583
mov eax, dword [ebp + 0x60]
cmp di, si
je 0x42f779
cmp eax, esi
je 0x42f771
cmp word [eax], si
je 0x42f779
lea ecx, [ebp - 0x24]
call fcn.0043fe25
push 4
call fcn.004b4768
test eax, eax
pop ecx
je 0x42f73e
and dword [eax], 0
mov esi, eax
jmp 0x42f740
xor esi, esi
movzx eax, di
push eax
push 0xffffffffffffffff
push dword [ebp + 0x60]
mov ecx, esi
call fcn.00446516
mov eax, dword [esi]
push esi
lea ecx, [ebp - 0xa4]
mov dword [ebp + 0x60], eax
call fcn.0040fb82
mov eax, dword [ebp + 0x60]
mov ecx, dword [ebp + 0x34]
mov dword [ecx], eax
mov edi, dword [ebp + 0x34]
jmp 0x42f826
mov eax, 0x4c6a64
mov dword [ebp + 0x60], eax
mov ecx, dword [ebp + 0x34]
mov dword [ecx], eax
lea ecx, [ebp - 0x24]
call fcn.0043fe25
mov edi, dword [ebp + 0x34]
cmp byte [ebp + 0x7f], 1
jne 0x42f826
mov eax, dword [ebp + 0x3c]
cmp eax, 0xc
mov ecx, dword [ebp]
mov word [ecx], ax
jne 0x42f7ac
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 0x42f7b2
mov eax, dword [ebp + 0x60]
mov dword [ecx + 8], eax
add dword [ebp], 0x10
jmp 0x42f769
cmp word [eax], 0x23
jne 0x42f7c3
inc eax
inc eax
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x3c], 3
cmp word [eax], 0x3a
jne 0x42f7f1
inc eax
inc eax
mov dword [ebp + 0x60], eax
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.004429d6
mov eax, dword [ebp + 0x60]
cmp word [eax], 0x3a
pop ecx
pop ecx
jne 0x42f7f1
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.00453dde
cmp byte [ebp + 0x7f], 1
mov eax, dword [ebp - 0x30]
pop ecx
pop ecx
mov dword [edi], eax
jne 0x42f826
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 0x42f83f
cmp dword [ebp + 0x14], 0x64
jbe 0x42f36f
cmp byte [ebp + 0x53], 0
je 0x42f853
mov ecx, dword [ebp + 0x74]
mov eax, dword [ebp + 0x4c]
mov dword [ebp + 0x74], eax
mov dword [ebp + 0x4c], ecx
jmp 0x42f856
mov eax, dword [ebp + 0x74]
and dword [ebp + 8], 0
test eax, eax
mov byte [ebp + 0x49], 0
je 0x42f879
cmp word [eax], 0x22
jne 0x42f86f
mov dword [ebp + 8], 1
push eax
call fcn.004135f9
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 0x42f89c
lea eax, [ecx + 2]
cmp word [eax], si
jne 0x42f89c
mov ecx, eax
mov dword [ebp + 0x24], ecx
cmp word [ecx], si
je 0x42f88a
mov di, word [ecx]
cmp di, si
jne 0x42f921
xor eax, eax
mov ax, word [ecx + 2]
push eax
call fcn.00414d24
add esp, 4
test al, al
jne 0x42f8bb
or byte [ebp + 0x50], 2
cmp di, si
jne 0x42f921
xor eax, eax
lea edx, [ecx + 2]
mov ax, word [edx]
push eax
call fcn.00414d24
add esp, 4
test al, al
je 0x42f921
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.00453c1f
test eax, eax
pop ecx
pop ecx
jle 0x42eb6e
mov eax, dword [ebp - 0x8c]
test eax, eax
je 0x42eb6e
mov ecx, dword [ebp + 0x24]
mov dword [ebp + 0x30], eax
jmp 0x42f92b
test di, di
jne 0x42f931
xor ecx, ecx
mov dword [ebp + 0x24], ecx
cmp byte [ebp + 0x51], 0
jne 0x42f948
test ecx, ecx
je 0x42f948
cmp word [ecx], 0x2e
jne 0x42f948
cmp word [ecx + 2], 0
jne 0x42f948
mov byte [ebp + 0x52], 1
jmp 0x42f952
cmp byte [ebp + 0x51], 0
mov byte [ebp + 0x52], 0
jne 0x42f9c5
cmp byte [ebp + 0x1f], 0
je 0x42f9c5
cmp byte [ebp + 0x50], 0
jne 0x42f9c5
cmp byte [ebp + 0x52], 0
je 0x42f96b
mov eax, dword [0x4e2c88]
jmp 0x42f972
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x42f995
push dword [ebp + 0x74]
lea eax, [ebp + 0x47]
push eax
call fcn.004124e0
pop ecx
pop ecx
push dword [ebp + 0x74]
mov byte [ebp - 0xd], 1
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x42f99b
and dword [ebp + 0x5c], 0
jmp 0x42f9b3
cmp byte [ebp + 0x2b], 0
je 0x42f9aa
and dword [ebp + 0x5c], 0
jmp 0x430995
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0x5c], eax
cmp byte [ebp - 0xd], 1
je 0x430995
mov esi, dword [ebp + 0x5c]
jmp 0x430b4c
push dword [ebp + 0x74]
lea eax, [ebp + 0x47]
push eax
call fcn.004124e0
cmp dword [ebp + 0x54], 0
pop ecx
pop ecx
jne 0x42ff0e
cmp byte [ebp + 0x50], 0
mov eax, dword [0x4e2c88]
mov esi, dword [ebp + 0x24]
jne 0x42fa19
cmp dword [ebp + 0x30], 0
jne 0x42fa19
cmp byte [ebp + 0x5a], 0
jne 0x42fa19
test esi, esi
je 0x42fa15
cmp word [esi], 0x2e
jne 0x42fc6c
cmp word [esi + 2], 0
jne 0x42fc6c
mov dword [ebp + 0x30], eax
jmp 0x42fa21
mov byte [ebp + 0x5a], 2
test esi, esi
je 0x42fdd2
cmp dword [ebp + 0x30], 0
jne 0x42fde7
cmp byte [ebp + 0x50], 0
je 0x42fc6c
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 0x42fa68
cmp cx, 0x23
jne 0x42fa68
xor eax, eax
mov ax, word [esi + 2]
push eax
call fcn.00414d24
add esp, 4
test al, al
jne 0x42fab3
cmp cx, 0x2a
jne 0x42fa75
inc esi
inc esi
mov dword [ebp + 0x24], esi
mov edi, esi
cmp word [esi], 0x22
mov dword [ebp - 0x3c], edx
jne 0x42faa6
inc esi
inc esi
push 0x22
lea eax, [ebp + 8]
mov dword [ebp + 0x24], esi
mov dword [ebp + 8], esi
call fcn.00414c4e
mov edi, dword [ebp + 8]
cmp word [edi], 0
pop ecx
je 0x42faa6
and word [edi], 0
mov esi, dword [ebp + 0x24]
mov dword [ebp - 0x3c], edi
inc edi
inc edi
cmp word [ebp - 0x4c], 0x2a
jne 0x42fb69
xor edx, edx
mov eax, dword [0x4e2fc8]
mov dword [ebp + 4], edx
jmp 0x42fac5
cmp cx, 0x23
je 0x42facd
inc edi
inc edi
mov cx, word [edi]
cmp cx, dx
jne 0x42fabd
cmp word [edi], dx
mov esi, edi
je 0x42faf1
mov cx, word [esi]
cmp cx, 0x7c
je 0x42faec
cmp cx, 0x3a
je 0x42faec
inc esi
inc esi
cmp word [esi], dx
jne 0x42fad4
jmp 0x42faf1
mov word [esi], dx
inc esi
inc esi
cmp word [esi], dx
jne 0x42fafb
mov esi, 0x4c7cf8
cmp word [edi], 0x23
jne 0x42fb75
mov ecx, dword [ebp - 0x3c]
cmp ecx, edx
mov word [edi], dx
je 0x42fb0e
mov word [ecx], dx
mov ecx, dword [ebp + 0x24]
cmp word [ecx], 0x2e
jne 0x42fb2a
lea edx, [ecx + 2]
cmp word [edx], 0
jne 0x42fb2a
mov eax, dword [0x4e2c88]
mov ecx, edx
mov dword [ebp + 0x24], ecx
cmp word [ecx], 0
je 0x42fb3e
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 0x42fb58
push 0
lea ecx, [ebp - 0x80]
push ecx
push esi
push edi
push eax
call fcn.0041593f
add esp, 0x14
cmp dword [ebp + 4], 0
je 0x42fb75
push dword [ebp + 4]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x42fb75
lea eax, [ebp - 0x80]
push eax
push esi
call fcn.004152ea
pop ecx
pop ecx
mov edi, dword [ebp - 0x80]
test edi, edi
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x4c], eax
jne 0x42fba5
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.0043fe25
jmp 0x42fdd8
lea eax, [ebp - 0x70]
push 0x28
push eax
call fcn.00410e9e
mov esi, eax
test esi, esi
pop ecx
pop ecx
je 0x42fbbf
mov ecx, esi
call fcn.00414e88
push dword [ebp - 0x4c]
add esi, 4
push edi
mov ecx, esi
mov dword [ebp - 4], esi
call fcn.0041d0c2
test eax, eax
je 0x42fc4e
cmp byte [ebp + 0x53], 0
je 0x42fc29
mov ecx, dword [ebp + 0x4c]
xor edi, edi
xor eax, eax
cmp ecx, edi
je 0x42fbea
cmp word [ecx], di
jne 0x42fbf2
mov ecx, dword [ebp + 0x18]
cmp word [ecx], di
je 0x42fbf4
mov eax, ecx
cmp eax, edi
mov dword [ebp + 0x5c], esi
mov byte [ebp + 0x4a], 1
je 0x42fc1c
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.0042d2e7
add esp, 0x10
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x80]
call fcn.0043fe25
jmp 0x4309c1
push dword [ebp + 0x40]
lea ecx, [ebp - 0x4c]
call fcn.00402da4
push dword [eax]
mov ecx, esi
call fcn.00410872
lea ecx, [ebp - 0x4c]
mov dword [ebp + 0x54], eax
call fcn.0043fe25
cmp dword [ebp + 0x54], 0
jne 0x42fc64
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 0x42ff09
xor edi, edi
mov di, word [esi]
and edi, 0xffdf
je 0x42fc81
mov edi, dword [esi]
and edi, 0xffdfffdf
cmp byte [ebp + 0x52], 0
jne 0x42fdc2
cmp byte [ebp + 0x53], 0
jne 0x42fdb7
cmp edi, 0x45004b
jne 0x42fce2
push esi
push dword [0x4e1310]
call fcn.004412b6
test al, al
pop ecx
pop ecx
jne 0x42fcd8
push 8
push dword [ebp + 0x24]
push dword [0x4e1310]
call fcn.00441277
add esp, 0xc
test al, al
je 0x42fd69
mov esi, dword [ebp + 0x24]
cmp word [esi + 0x10], 0
jne 0x42fd6c
mov eax, dword [0x4e3010]
jmp 0x42fdc2
cmp edi, 0x530055
jne 0x42fd27
push esi
push dword [0x4e130c]
call fcn.004412b6
test al, al
pop ecx
pop ecx
jne 0x42fd1d
push 6
push dword [ebp + 0x24]
push dword [0x4e130c]
call fcn.00441277
add esp, 0xc
test al, al
je 0x42fd69
mov esi, dword [ebp + 0x24]
cmp word [esi + 0xc], 0
jne 0x42fd6c
mov eax, dword [0x4e300c]
jmp 0x42fdc2
cmp edi, 0x440047
jne 0x42fd6c
push esi
push dword [0x4e1308]
call fcn.004412b6
test al, al
pop ecx
pop ecx
jne 0x42fd62
push 5
push dword [ebp + 0x24]
push dword [0x4e1308]
call fcn.00441277
add esp, 0xc
test al, al
je 0x42fd69
mov esi, dword [ebp + 0x24]
cmp word [esi + 0xa], 0
jne 0x42fd6c
mov eax, dword [0x4e3014]
jmp 0x42fdc2
mov esi, dword [ebp + 0x24]
cmp dword [0x4e3018], 0
je 0x42fdb7
cmp edi, 0x4c004f
jne 0x42fdb7
push esi
push dword [0x4e1304]
call fcn.004412b6
test al, al
pop ecx
pop ecx
jne 0x42fdb0
push 5
push dword [ebp + 0x24]
push dword [0x4e1304]
call fcn.00441277
mov esi, dword [ebp + 0x24]
add esp, 0xc
test al, al
je 0x42fdb7
cmp word [esi + 0xa], 0
jne 0x42fdb7
mov eax, dword [0x4e3018]
jmp 0x42fdc2
push esi
mov byte [ebp + 0x49], 1
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
mov dword [ebp + 0x30], eax
jne 0x42fde7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0x5c], eax
cmp dword [ebp + 0x30], 0
jne 0x42fde7
cmp byte [ebp + 0x3a], 0
jne 0x42ffb9
jmp 0x430995
push dword [ebp + 0x40]
lea ecx, [ebp + 0x20]
call fcn.00402da4
test byte [ebp + 0x51], 2
push dword [ebp + 0x20]
je 0x42fe05
mov ecx, dword [ebp + 0x30]
call fcn.00410872
jmp 0x42fe0e
push dword [ebp + 0x30]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
mov dword [ebp + 0x54], eax
jne 0x42ff06
cmp byte [ebp + 0x2d], al
je 0x42fefd
cmp byte [ebp + 0x67], al
jne 0x42fefd
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 0x42fefd
cmp ax, 0x57
je 0x42fefd
push 4
call fcn.004b4768
mov esi, eax
test esi, esi
pop ecx
je 0x42fe79
mov eax, dword [ebp + 8]
add eax, 2
push eax
mov ecx, esi
call fcn.004465ac
jmp 0x42fe7b
xor esi, esi
push esi
lea ecx, [ebp - 0xa4]
call fcn.0040fb82
push dword [ebp + 8]
push dword [ebp + 0x40]
push dword [esi]
call fcn.00405c0c
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 0x42febb
mov ecx, dword [ebp + 0x30]
call fcn.00410872
jmp 0x42fec4
push dword [ebp + 0x30]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
mov dword [ebp + 0x54], eax
jne 0x42ff06
push dword [ebp + 0x40]
lea ecx, [ebp - 0x4c]
mov word [esi], 0x41
call fcn.00402da4
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.0043fe25
cmp dword [ebp + 0x54], 0
je 0x42fefd
mov byte [ebp + 0x67], 0x40
jmp 0x42ff06
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0x5c], eax
lea ecx, [ebp + 0x20]
call fcn.0043fe25
and dword [ebp - 0x6c], 0
cmp byte [ebp + 0x4b], 0
je 0x42ff2a
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 0x42ff35
mov eax, dword [ebp - 0x20]
mov dword [ebx], eax
mov eax, dword [ebp + 0xc]
test eax, eax
jl 0x42ff94
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 0x42ff94
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 0x42ff94
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 0x42ff6b
cmp byte [ebp + 0x3a], 0
je 0x430000
cmp byte [ebp + 0x49], 1
jne 0x42ffb9
cmp byte [ebp + 0x5a], 0
jg 0x42ffb9
cmp dword [ebp + 0x30], 0
je 0x42ffb9
push dword [ebp + 0x30]
mov byte [ebp + 0x49], 2
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp byte [ebp + 0x2b], 0
je 0x42ffc7
mov esi, dword [ebp + 0x54]
jmp 0x430b4c
cmp dword [ebp + 0x54], 0
je 0x42ffe5
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.00445c44
cmp byte [ebp + 0x49], 2
jmp 0x42f9b7
cmp dword [ebp + 0x54], 0
mov byte [ebp + 0x4b], 0
je case.default.0x430597
test byte [ebp - 0xc], 7
je 0x43006a
call fcn.004453c5
xor edi, edi
cmp dword [ebp - 0xc], edi
je 0x43006a
cmp dword [0x4e34dc], edi
je 0x43006a
cmp dword [0x4e34e0], edi
je 0x43006a
push 0x4e3d84
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, dword [ebp + 0x70]
mov al, byte [esi + 0xe]
test al, 2
jne 0x43005f
test al, 1
jne 0x43004d
mov byte [ebp + 0x4b], 1
or byte [ebp + 0x4b], 2
or al, 3
push edi
mov byte [esi + 0xe], al
call dword [0x4e34dc]
jmp 0x43006a
push 0x4e3d84
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [ebp + 0x48], 0
je 0x430078
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp byte [ebp + 0x7f], 1
jne 0x4300b4
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 0x4d4d64
push dword [ebp - 0x28]
push esi
call dword [edi + 0x18]
jmp 0x43089d
cmp byte [ebp + 0x2d], 0
je 0x430169
xor eax, eax
cmp byte [ebp + 0x67], 0x40
mov dword [ebp - 0x38], eax
mov byte [ebp + 0x4a], 1
mov word [ebp + 0x7a], ax
jne 0x4300eb
cmp dword [ebp + 0x4c], eax
je 0x4300f1
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp + 0x4c]
lea ecx, [ebp - 0x38]
call fcn.00446516
mov eax, dword [ebp - 0x38]
mov dword [ebp + 0x4c], eax
cmp dword [ebp + 0x4c], 0
jne 0x4300f7
lea eax, [ebp + 0x7a]
mov dword [ebp + 0x4c], eax
mov edi, dword [ebp + 0x70]
mov ebx, dword [0x4e2fc8]
push 0
push edi
call fcn.00412e85
mov esi, dword [ebp + 0x40]
test esi, esi
pop ecx
pop ecx
mov dword [ebp + 8], 5
je 0x430145
push 0x12
push esi
push str.InstallHinfSection
call fcn.00441277
add esp, 0xc
test al, al
je 0x430145
xor eax, eax
cmp word [esi + 0x24], ax
je 0x430140
cmp word [esi + 0x26], ax
mov word [esi + 0x24], 1
jne 0x430145
mov dword [ebp + 8], eax
xor ebx, ebx
push dword [ebp + 8]
push dword [ebp + 0x4c]
push ebx
push dword [edi + 0x28]
call fcn.00440480
pop ecx
push eax
call dword [ebp + 0x54]
lea ecx, [ebp - 0x38]
mov dword [ebp + 0x5c], eax
call fcn.0043fe25
jmp case.default.0x430597
cmp dword [ebp + 0x78], 1
mov eax, dword [ebp + 0x14]
jne 0x43058a
cmp eax, 0x64
ja 0x43017f
mov byte [ebp + 0x4a], 0x20
cmp eax, 7
ja case.default.0x430188
jmp dword [eax*4 + 0x430c0f]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x43019f
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
pop ecx
pop ecx
jmp 0x43089d
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
add esp, 0xc
jmp 0x43089d
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
add esp, 0x10
jmp 0x43089d
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 0x43089d
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 0x43089d
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 0x43089d
cmp eax, 0x14
ja 0x43026d
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 0x43089d
cmp eax, 0x1e
ja 0x4302d6
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 0x43089d
cmp eax, 0x28
ja 0x43037c
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 0x43089d
cmp eax, 0x64
ja case.default.0x430597
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 0x43089d
cmp eax, 0x14
ja case.default.0x430597
mov byte [ebp + 0x4a], 0x20
jmp dword [eax*4 + 0x430c2f]
call dword [ebp + 0x54]
jmp 0x43089d
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x43089d
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x43089d
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x43089d
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x43089d
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x43089d
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 0x43089d
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 0x43089d
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 0x43089d
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 0x43089d
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 0x43089d
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 0x43089d
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 0x43089d
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 0x43089d
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 0x43089d
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 0x43089d
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 0x43089d
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 0x43089d
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 0x43089d
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 0x43089d
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 0x430915
push dword [ebp - 0x1c]
lea ecx, [ebp + 0x78]
call fcn.004505eb
mov ecx, dword [ebp + 0x70]
push 0
lea eax, [ebp + 0x78]
push eax
call fcn.00402f5e
mov esi, dword [ebp + 0x78]
lea ecx, [ebp - 0x1c]
call fcn.0044658e
test byte [ebp + 0x4a], 0x20
je 0x4308f3
cmp dword [ebp + 0x5c], 0
je 0x4308f3
cmp word [esi], 0x7e
jne 0x4308e3
mov eax, 0xfde9
jmp 0x4308e5
xor eax, eax
push eax
push 0xffffffffffffffff
push dword [ebp + 0x5c]
lea ecx, [ebp - 0x1c]
call fcn.00446649
mov eax, dword [ebp + 0x78]
push dword [ebp - 0x1c]
mov ecx, dword [ebp + 0x70]
add eax, 2
push eax
call fcn.00445c44
lea ecx, [ebp - 0x1c]
call fcn.0043fe25
lea ecx, [ebp + 0x78]
call fcn.0043fe25
cmp byte [ebp + 0x7f], 0
mov eax, dword [ebp + 0x5c]
mov dword [ebp - 0x14], eax
je 0x430938
cmp dword [ebp - 0x44], 0
je 0x430938
push dword [ebp - 0x44]
push dword [ebp - 0x6c]
push dword [ebp + 0x70]
call fcn.00448c7f
add esp, 0xc
cmp byte [ebp + 0x48], 0
je 0x430958
cmp byte [ebp + 0x48], 2
jne 0x43094f
push dword [ebp + 0x5c]
call fcn.0043a683
pop ecx
jmp 0x430955
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x14], eax
cmp byte [ebp + 0x49], 0
jle 0x430973
cmp byte [ebp + 0x5a], 0
jg 0x430973
cmp dword [ebp + 0x30], 0
je 0x430973
push dword [ebp + 0x30]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp byte [ebp + 0x4b], 0
je 0x430995
call dword [0x4e34e0]
mov al, byte [ebp + 0x4b]
mov ecx, dword [ebp + 0x70]
not al
and byte [ecx + 0xe], al
push 0x4e3d84
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [ebp + 0x46], 0
jg 0x4309a4
push dword [ebp - 0x60]
call fcn.0041249e
pop ecx
mov eax, dword [ebp - 0x58]
or eax, dword [ebp - 0x54]
je 0x4309b2
cmp byte [ebp + 0x46], 0
jg 0x4309b7
call fcn.00415350
cmp byte [ebp + 0x3a], 0
jne 0x42f9bd
xor esi, esi
mov eax, dword [ebp + 0x18]
mov ax, word [eax]
cmp ax, si
je 0x430a4d
cmp ax, 0x2a
je 0x430a4d
cmp byte [ebp + 0x4a], 0
je 0x430a4d
cmp byte [ebp + 0x1e], 0
mov eax, dword [0x4cc420]
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 [0x4cc424]
mov dword [ebp - 0x4c], eax
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0xb0]
jne 0x430a07
lea eax, [ebp - 0x50]
cmp byte [ebp + 0x53], 0
je 0x430a20
cmp byte [ebp + 0x50], 0
je 0x430a20
cmp dword [ebp + 0x5c], 0
jne 0x430a2f
mov eax, 0x4c6a64
jmp 0x430a2f
cmp byte [ebp + 0x5b], 0
je 0x430a2d
mov word [eax], 0x3c
jmp 0x430a2f
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 0x430a4d
and dword [ebp - 0x14], 0
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x430a59
call fcn.0041082b
mov eax, dword [ebp + 0x18]
cmp word [eax], 0
je 0x430b29
cmp word [eax], 0x2a
je 0x430b29
cmp byte [ebp + 0x2e], 0
je 0x430ac5
cmp dword [ebp + 0x5c], 0
je 0x430ac5
test byte [ebp + 0x5b], 0x10
jne 0x430ac5
push eax
push dword [ebp + 0x5c]
push dword [ebp + 0x70]
call fcn.0042d4b1
add esp, 0xc
cmp byte [ebp + 0x5b], 0
mov esi, eax
je 0x430ad5
test esi, esi
je 0x430ad5
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.004147ef
mov eax, dword [esi + 4]
add esp, 0xc
mov word [eax], 0x3c
jmp 0x430ad5
lea ecx, [ebp - 0x12c]
push ecx
mov ecx, dword [ebp + 0x70]
push eax
call fcn.00445c44
cmp byte [ebp + 0x2f], 0
je 0x430b29
push dword [ebp + 0x18]
lea ecx, [ebp + 0x78]
call fcn.004505eb
push str..args
lea ecx, [ebp + 0x18]
call fcn.004465fa
push str..addr
lea ecx, [ebp + 0x78]
call fcn.004465fa
push dword [ebp + 0x18]
movsx eax, byte [ebp + 0x2c]
push eax
push dword [ebp + 0x70]
call fcn.00448c7f
push dword [ebp + 0x78]
push dword [ebp + 0x54]
push dword [ebp + 0x70]
call fcn.004a8333
add esp, 0x18
lea ecx, [ebp + 0x78]
call fcn.0043fe25
mov esi, dword [ebp - 0x18]
jmp 0x430b43
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + esi*4 + 0x1ac]
test eax, eax
je 0x430b43
push eax
call fcn.0040fa97
pop ecx
dec esi
cmp esi, 2
jge 0x430b2e
mov esi, dword [ebp - 0x14]
lea ecx, [ebp - 0x60]
call fcn.0043fe25
lea ecx, [ebp - 0x70]
call fcn.0043fe25
lea ecx, [ebp - 0xa4]
call fcn.0045a9f0
lea ecx, [ebp - 0xa4]
call fcn.0043fe25
lea ecx, [ebp - 0x74]
call fcn.0043fe25
lea ecx, [ebp - 0x44]
call fcn.0043fe25
lea ecx, [ebp - 0x94]
call fcn.0043fe25
lea ecx, [ebp + 0x18]
call fcn.0043fe25
lea ecx, [ebp - 0x68]
call fcn.0043fe25
mov eax, esi
jmp 0x430c03
lea ecx, [ebp - 0x60]
call fcn.0043fe25
lea ecx, [ebp - 0x70]
call fcn.0043fe25
lea ecx, [ebp - 0xa4]
call fcn.0045a9f0
lea ecx, [ebp - 0xa4]
call fcn.0043fe25
lea ecx, [ebp - 0x74]
call fcn.0043fe25
lea ecx, [ebp - 0x44]
call fcn.0043fe25
lea ecx, [ebp - 0x94]
call fcn.0043fe25
lea ecx, [ebp + 0x18]
call fcn.0043fe25
lea ecx, [ebp - 0x68]
call fcn.0043fe25
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