Function at 0x42c76e
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, 0x184
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 - 0x60]
mov byte [ebp + 0x17], bl
call fcn.0044df7a
mov eax, dword [ebp + 0x74]
or dword [ebp + 0xc], 0xffffffff
or dword [ebp + 8], 0xffffffff
xor edi, edi
lea ecx, [ebp + 0x74]
mov dword [ebp - 0x50], eax
mov dword [ebp + 0x28], edi
mov dword [ebp + 4], edi
call fcn.0040f813
lea ecx, [ebp + 0x1c]
mov byte [ebp + 0x4a], 0xff
mov byte [ebp + 0x49], 0xff
mov byte [ebp + 0x4b], 0
mov byte [ebp + 0x55], 0
mov byte [ebp + 0x5e], 0
mov byte [ebp + 0x54], 0
mov byte [ebp + 0x46], 0
mov byte [ebp + 0x3b], 0
mov byte [ebp - 0xd], 0
mov byte [ebp + 0x3a], 0
mov byte [ebp + 0x53], 0xff
mov byte [ebp + 0x26], 1
mov byte [ebp + 0x48], 0
mov dword [ebp - 0xc], 0xffff0000
mov dword [ebp - 0x18], edi
mov byte [ebp + 0x27], 0
call fcn.00444a10
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x88], edi
call fcn.00444a10
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c3168
mov word [ebp - 0x11c], di
call fcn.00446a34
add esp, 0xc
test al, al
jne 0x42c82f
test bl, bl
mov byte [ebp + 0x47], al
je 0x42c833
mov byte [ebp + 0x47], 1
test bl, bl
setne byte [ebp + 0x33]
cmp byte [ebp + 0x47], 0
mov byte [ebp + 0x32], 0
je 0x42c84b
mov byte [ebp + 0x4a], 0
mov byte [ebp + 0x49], 1
mov eax, dword [ebp + 0x74]
cmp word [eax], 0x2d
mov byte [ebp + 0x5f], 0x2a
jne 0x42c85d
mov al, byte [eax]
mov byte [ebp + 0x5f], al
push 0xda8
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x58], edi
mov dword [ebp + 0x40], edi
call fcn.004448b9
push dword [ebp - 0x4c]
call fcn.0043e39b
mov ebx, dword [ebp - 0x4c]
lea eax, [ebx + 0x1bc]
mov dword [ebp + 0x20], eax
add eax, 0x358
mov dword [ebp - 0x7c], eax
lea eax, [ebx + 0x504]
pop ecx
lea ecx, [eax + 0x6b0]
mov dword [ebp - 4], eax
add eax, 0x6c0
mov dword [ebp - 0x34], eax
add eax, 0x20
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x74]
movzx edx, word [eax]
mov dword [ebp - 0x70], ecx
movsx ecx, byte [ebp + 0x5f]
cmp edx, ecx
push 4
mov byte [ebp + 0x52], 0
pop esi
je 0x42c9c7
lea ecx, [ebp - 0x94]
mov dword [ebp + 0x18], edi
call fcn.00444c7e
mov eax, dword [ebp + 0x7c]
mov esi, dword [ebp + 0x20]
mov dword [ebp + 0x58], eax
mov eax, dword [ebp + 0x74]
mov dword [esi], eax
mov eax, dword [ebp + 0x74]
mov dword [ebp - 0x40], esi
add esi, 0x1ac
push 0x2c
mov dword [esi], eax
push dword [ebp + 0x74]
mov dword [ebp - 0x14], 1
call dword [sym.imp.shlwapi.dll_StrChrW]
cmp eax, edi
mov dword [ebp + 0x3c], eax
je 0x42c915
sub eax, dword [ebp - 0x50]
sar eax, 1
add dword [ebp + 0x3c], 2
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 0x3c]
cmp eax, edi
mov ecx, dword [ebp + 0x20]
mov dword [ecx + 4], eax
mov dword [esi + 4], eax
je 0x42c93d
push 0xc
push eax
push str._LoadLibrary
call fcn.0043f884
add esp, 0xc
test al, al
mov byte [ebp + 0x56], 1
jne 0x42c941
mov byte [ebp + 0x56], 0
mov esi, dword [ebp + 0x3c]
cmp esi, edi
je 0x42c960
push 0xf
push esi
push str._GetProcAddress
call fcn.0043f884
add esp, 0xc
test al, al
mov byte [ebp + 0x5f], 1
jne 0x42c964
mov byte [ebp + 0x5f], 0
cmp esi, edi
je 0x42c980
push 0xc
push esi
push str._FreeLibrary
call fcn.0043f884
add esp, 0xc
test al, al
mov byte [ebp + 0x57], 1
jne 0x42c984
mov byte [ebp + 0x57], 0
mov al, byte [ebp + 0x57]
or al, byte [ebp + 0x5f]
or al, byte [ebp + 0x56]
cmp esi, edi
mov byte [ebp + 0x3a], al
je 0x42cf87
cmp word [esi], 0x2a
jne 0x42cf87
xor eax, eax
mov ax, word [esi + 2]
cmp ax, 0x2c
je 0x42c9bb
call fcn.0040f829
test al, al
je 0x42cf87
mov byte [ebp + 0x46], 1
jmp 0x42cfa7
push 4
pop esi
movzx edx, word [eax + 2]
cmp edx, ecx
jne 0x42cf65
add eax, esi
mov dword [ebp + 0x74], eax
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c53cc
call fcn.00446a34
add esp, 0xc
test al, al
je 0x42c9fb
mov dword [ebp + 0x78], 1
jmp 0x42cf4b
push 2
lea eax, [ebp + 0x74]
push eax
push 0x4c53c8
call fcn.00446a34
add esp, 0xc
test al, al
je 0x42ca1b
mov byte [ebp + 0x4a], 1
jmp 0x42cf4b
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4c4238
call fcn.00446a34
add esp, 0xc
test al, al
je 0x42ca3b
mov byte [ebp + 0x4a], 0
jmp 0x42cf4b
push esi
lea eax, [ebp + 0x74]
push eax
push str.nrcd
call fcn.00446a34
add esp, 0xc
test al, al
je 0x42ca5a
mov byte [ebp + 0x49], 2
jmp 0x42cf4b
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4c53bc
call fcn.00446a34
add esp, 0xc
test al, al
je 0x42ca7a
mov byte [ebp + 0x49], 0
jmp 0x42cf4b
mov eax, dword [ebp + 0x74]
mov cx, word [eax]
or cx, 0x20
cmp cx, 0x71
jne 0x42cbfd
mov cx, word [eax + 2]
or cx, 0x20
cmp cx, 0x64
jne 0x42cbfd
add eax, esi
mov dword [ebp + 0x74], eax
push edi
lea eax, [ebp + 0x74]
push eax
push 0x4c080a
call fcn.00446a34
add esp, 0xc
test al, al
je 0x42cac4
mov byte [ebp + 0x5e], 1
jmp 0x42cf4b
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c53b8
call fcn.00446a34
add esp, 0xc
test al, al
je 0x42cae4
mov byte [ebp + 0x5e], 0x23
jmp 0x42cf4b
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c4298
call fcn.00446a34
add esp, 0xc
test al, al
je 0x42cb04
mov byte [ebp + 0x5e], 0x2a
jmp 0x42cf4b
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c53b4
call fcn.00446a34
add esp, 0xc
test al, al
je 0x42cb24
mov byte [ebp + 0x5e], 0x3e
jmp 0x42cf4b
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c53b0
call fcn.00446a34
add esp, 0xc
test al, al
je 0x42cb44
mov byte [ebp + 0x5e], 0x24
jmp 0x42cf4b
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c53ac
call fcn.00446a34
add esp, 0xc
test al, al
je 0x42cb64
mov byte [ebp + 0x5e], 0x40
jmp 0x42cf4b
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c53a8
call fcn.00446a34
add esp, 0xc
test al, al
je 0x42cb84
mov byte [ebp + 0x5e], 0x3d
jmp 0x42cf4b
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c53a4
call fcn.00446a34
add esp, 0xc
test al, al
je 0x42cba4
mov byte [ebp + 0x5e], 0x3c
jmp 0x42cf4b
push 1
push dword [ebp + 0x74]
push str.:____
call fcn.0043f884
add esp, 0xc
test al, al
je 0x42cbe4
add dword [ebp + 0x74], 2
mov esi, dword [ebp + 0x74]
lea eax, [ebp + 0x74]
push eax
call fcn.00405a01
mov eax, dword [ebp + 0x74]
cmp word [eax], di
pop ecx
je 0x42cbda
mov word [eax], di
add dword [ebp + 0x74], 2
cmp word [esi], di
je 0x42cc33
mov dword [ebp - 0x58], esi
jmp 0x42cc33
sub dword [ebp + 0x74], esi
cmp byte [ebp + 0x5f], 0x2a
jne 0x42cf41
mov esi, dword [ebp + 0x74]
mov edx, esi
xor ecx, ecx
jmp 0x42cf39
push esi
push eax
push str.arg:
call fcn.0043f884
add esp, 0xc
test al, al
je 0x42cc40
add dword [ebp + 0x74], 8
mov eax, dword [ebp + 0x74]
mov dword [ebp + 0x40], eax
lea eax, [ebp + 0x74]
push eax
call fcn.00405a01
mov eax, dword [ebp + 0x74]
cmp word [eax], di
pop ecx
je 0x42cc33
mov word [eax], di
add dword [ebp + 0x74], 2
lea ecx, [ebp + 0x74]
call fcn.0040f813
jmp 0x42cf4b
push 2
lea eax, [ebp + 0x74]
push eax
push 0x4c5394
call fcn.00446a34
add esp, 0xc
test al, al
je 0x42cc63
mov dword [ebp - 0xc], 1
jmp 0x42cf4b
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4c5390
call fcn.00446a34
add esp, 0xc
test al, al
je 0x42cc82
mov dword [ebp - 0xc], edi
jmp 0x42cf4b
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4c538c
call fcn.00446a34
add esp, 0xc
test al, al
je 0x42cca2
mov byte [ebp + 0x46], 1
jmp 0x42cf4b
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4c5388
call fcn.00446a34
add esp, 0xc
test al, al
je 0x42ccc2
mov byte [ebp + 0x3b], 1
jmp 0x42cf4b
push 1
lea eax, [ebp + 0x74]
push eax
push 0x4c4b74
call fcn.00446a34
add esp, 0xc
test al, al
je 0x42cce2
mov byte [ebp - 0xd], 1
jmp 0x42cf4b
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4c0ec0
call fcn.00446a34
add esp, 0xc
test al, al
je 0x42cd02
mov byte [ebp + 0x48], 1
jmp 0x42cf4b
push 2
lea eax, [ebp + 0x74]
push eax
push 0x4c5384
call fcn.00446a34
add esp, 0xc
test al, al
je 0x42cd22
mov byte [ebp + 0x27], 1
jmp 0x42cf4b
push esi
lea eax, [ebp + 0x74]
push eax
push str.bool
call fcn.00446a34
add esp, 0xc
test al, al
je 0x42cd41
mov byte [ebp + 0x48], 2
jmp 0x42cf4b
push 5
push dword [ebp + 0x74]
push str.sret:
call fcn.0043f884
add esp, 0xc
test al, al
je 0x42cd61
add dword [ebp + 0x74], 2
mov byte [ebp + 0x3a], 1
jmp 0x42cd76
push esi
push dword [ebp + 0x74]
push 0x4c536c
call fcn.0043f884
add esp, 0xc
test al, al
je 0x42cdd6
add dword [ebp + 0x74], 8
mov esi, dword [ebp + 0x74]
lea eax, [ebp + 0x74]
push eax
call fcn.00405a01
mov eax, dword [ebp + 0x74]
pop ecx
sub eax, esi
sar eax, 1
push eax
push esi
lea ecx, [ebp + 0x1c]
call fcn.00444b34
lea ecx, [ebp + 0x74]
call fcn.0040f813
mov ecx, dword [ebp + 0x70]
push edi
lea eax, [ebp + 0x1c]
push eax
call fcn.00402ee8
push dword [ebp + 0x1c]
mov byte [ebp + 0x55], 1
push 0x4c0ee8
call dword [sym.imp.KERNEL32.DLL_lstrcmpW]
test eax, eax
jne 0x42cf4b
mov eax, dword [ebp + 0x1c]
mov byte [ebp + 0x55], 3
mov word [eax], di
jmp 0x42cf4b
push 5
push dword [ebp + 0x74]
push str.vret:
call fcn.0043f884
add esp, 0xc
test al, al
je 0x42ce4d
add dword [ebp + 0x74], 0xa
mov esi, dword [ebp + 0x74]
lea eax, [ebp + 0x74]
push eax
call fcn.00405a01
mov eax, dword [ebp + 0x74]
pop ecx
sub eax, esi
sar eax, 1
push eax
push esi
lea ecx, [ebp - 0x2c]
call fcn.0044df97
lea ecx, [ebp + 0x74]
call fcn.0040f813
mov ecx, dword [ebp + 0x70]
push edi
lea eax, [ebp - 0x2c]
push eax
call fcn.00402ee8
mov ecx, dword [ebp + 0x70]
push edi
push 0xffffffffffffffff
push edi
push dword [ebp - 0x2c]
call fcn.00410c6f
cmp eax, edi
je 0x42ce40
mov eax, dword [eax + 4]
mov byte [ebp + 0x52], 1
mov dword [ebp - 0x70], eax
lea ecx, [ebp - 0x2c]
call fcn.0043e48d
jmp 0x42cf4b
push 6
push dword [ebp + 0x74]
push str.ivret:
call fcn.0043f884
add esp, 0xc
test al, al
lea eax, [ebp + 0x74]
je 0x42ce9f
add dword [ebp + 0x74], 0xc
mov esi, dword [ebp + 0x74]
push eax
call fcn.00405a01
mov eax, dword [ebp + 0x74]
pop ecx
sub eax, esi
sar eax, 1
push eax
push esi
lea ecx, [ebp - 0x3c]
call fcn.00444b34
lea ecx, [ebp + 0x74]
call fcn.0040f813
mov ecx, dword [ebp + 0x70]
push edi
lea eax, [ebp - 0x3c]
push eax
call fcn.00402ee8
jmp 0x42cf4b
push 1
push eax
push 0x4c4244
call fcn.00446a34
add esp, 0xc
test al, al
je 0x42cebc
mov byte [ebp + 0x54], 1
jmp 0x42cf4b
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4c5358
call fcn.00446a34
add esp, 0xc
test al, al
je 0x42cedd
mov byte [ebp + 0x53], 2
mov byte [ebp + 0x26], 2
jmp 0x42cf4b
push 3
lea eax, [ebp + 0x74]
push eax
push 0x4c5354
call fcn.00446a34
add esp, 0xc
test al, al
je 0x42cefe
mov byte [ebp + 0x53], 4
mov byte [ebp + 0x26], 4
jmp 0x42cf4b
push 6
lea eax, [ebp + 0x74]
push eax
push str.putref
call fcn.00446a34
add esp, 0xc
test al, al
je 0x42cbe7
mov byte [ebp + 0x53], 8
mov byte [ebp + 0x26], 8
jmp 0x42cf4b
mov eax, ecx
call fcn.00402d55
test al, al
jne 0x42cf41
cmp cx, 0x2c
je 0x42cf5f
inc esi
inc esi
mov dword [ebp + 0x74], esi
mov cx, word [esi]
cmp cx, di
jne 0x42cf23
lea eax, [ebp + 0x74]
push eax
call fcn.00409168
pop ecx
mov eax, dword [ebp + 0x74]
movzx edx, word [eax]
movsx ecx, byte [ebp + 0x5f]
cmp edx, ecx
je 0x42c9c4
jmp 0x42cf65
lea eax, [edx - 4]
mov dword [ebp + 0x74], eax
cmp byte [ebp + 0x46], 0
je 0x42c8c6
mov ecx, dword [ebp + 0x70]
push 0xffffffffffffff9c
push 0x4bfa2c
push edi
push eax
call fcn.00459b67
mov esi, eax
jmp 0x42f32a
cmp byte [ebp + 0x47], 0
mov byte [ebp + 0x46], 0
jne 0x42cfa7
cmp byte [ebp + 0x33], 0
jne 0x42cfa7
cmp byte [ebp + 0x56], 0
jne 0x42cfa7
cmp byte [ebp + 0x57], 0
mov byte [ebp + 0x25], 1
je 0x42cfab
mov byte [ebp + 0x25], 0
mov al, byte [ebp + 0x5f]
or al, byte [ebp + 0x56]
je 0x42cfb7
or byte [ebp + 0x27], 0x10
cmp byte [ebp + 0x3b], 0
jne 0x42d0ce
cmp byte [ebp + 0x25], 0
je 0x42d0ce
mov eax, dword [ebp + 0x7c]
cmp eax, edi
mov dword [ebp + 0x58], eax
jne 0x42cfdb
mov eax, dword [ebp + 0x74]
mov dword [ebp + 0x58], eax
push 0x2c
push dword [ebp + 0x58]
call dword [sym.imp.shlwapi.dll_StrChrW]
cmp eax, edi
mov dword [ebp + 0x58], eax
je 0x42cff8
mov word [eax], di
mov eax, dword [ebp + 0x58]
inc eax
inc eax
mov dword [ebp + 0x58], eax
mov esi, dword [ebp + 0x40]
cmp esi, edi
je 0x42d093
lea eax, [ebp + 0x58]
push eax
call fcn.00405a01
mov eax, dword [ebp + 0x58]
cmp word [eax], di
pop ecx
je 0x42d01c
mov word [eax], di
add dword [ebp + 0x58], 2
lea ecx, [ebp + 0x58]
call fcn.0040f813
mov dword [ebp - 0x14], 2
jmp 0x42d089
cmp dword [ebp - 0x14], 0x6a
jge 0x42d0ce
mov dx, word [esi]
cmp dx, di
je 0x42d04c
lea ecx, [esi + 2]
cmp word [ecx], di
je 0x42d04c
mov esi, ecx
mov dword [ebp + 0x40], esi
mov dword [ebp - 0x38], eax
xor eax, eax
cmp dx, 0x7e
setne al
dec eax
and eax, 0xfffffee8
add eax, 0x5a5
push eax
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.0041a299
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp + 0x20]
mov dword [ebp + 0x58], eax
mov eax, dword [ebp - 0x38]
add esp, 0xc
inc dword [ebp - 0x14]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp + 0x58]
cmp word [eax], di
jne 0x42d02d
jmp 0x42d0ce
xor esi, esi
inc esi
mov dword [ebp - 0x14], esi
cmp eax, edi
je 0x42d0ce
cmp esi, 2
jl 0x42d0a8
mov ecx, dword [ebp + 0x20]
mov dword [ecx + esi*4], eax
push 0x2c
push dword [ebp + 0x58]
inc esi
mov dword [ebp - 0x14], esi
call dword [sym.imp.shlwapi.dll_StrChrW]
cmp eax, edi
mov dword [ebp + 0x58], eax
je 0x42d0c9
mov word [eax], di
mov eax, dword [ebp + 0x58]
inc eax
inc eax
mov dword [ebp + 0x58], eax
cmp esi, 0x6a
jl 0x42d099
mov esi, dword [ebp + 0x3c]
cmp esi, edi
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x38], edi
je 0x42d0df
mov word [esi - 2], di
cmp byte [ebp + 0x46], 0
jne 0x42d0fd
cmp esi, edi
je 0x42d0fd
cmp word [esi], 0x2a
jne 0x42d0fd
inc dword [ebp + 0x28]
inc esi
inc esi
cmp word [esi], 0x2a
je 0x42d0ef
mov dword [ebp + 0x3c], esi
xor ecx, ecx
cmp esi, edi
mov dword [ebp + 0x4c], ecx
je 0x42d170
cmp dword [ebp + 0x40], edi
je 0x42d162
cmp word [esi], di
mov edx, esi
je 0x42d12d
xor eax, eax
mov ax, word [edx]
cmp ax, 0x2c
je 0x42d12d
call fcn.00402d55
test al, al
jne 0x42d12d
inc edx
inc edx
cmp word [edx], di
jne 0x42d112
cmp word [edx], di
je 0x42d170
lea ecx, [ebp + 0x4c]
mov dword [ebp + 0x4c], edx
call fcn.0040f813
mov eax, dword [ebp + 0x4c]
cmp word [eax], 0x2c
jne 0x42d14f
add dword [ebp + 0x4c], 2
call fcn.0040f813
mov eax, dword [ebp + 0x4c]
cmp word [eax], di
jne 0x42d15a
mov dword [ebp + 0x4c], edi
mov word [edx], di
mov ecx, dword [ebp + 0x4c]
jmp 0x42d170
push 0x2c
push esi
call dword [sym.imp.shlwapi.dll_StrChrW]
mov ecx, eax
mov dword [ebp + 0x4c], ecx
mov eax, dword [ebp + 0x74]
cmp word [eax], di
jne 0x42d188
cmp byte [ebp + 0x3a], 0
jne 0x42d188
mov esi, 0x80070057
jmp 0x42f30c
cmp dword [ebp + 0x40], edi
jne 0x42d1a1
cmp ecx, edi
je 0x42d1a1
cmp word [ecx], di
je 0x42d1a1
mov word [ecx], di
mov ecx, dword [ebp + 0x4c]
inc ecx
inc ecx
mov dword [ebp + 0x4c], ecx
cmp esi, edi
je 0x42d200
push 0x2e
push esi
call dword [sym.imp.shlwapi.dll_StrChrW]
cmp eax, edi
je 0x42d1fd
mov word [eax], di
inc eax
inc eax
mov dword [ebp - 0x1c], eax
mov dword [ebp + 0x34], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00405a01
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp + 0x34]
pop ecx
je 0x42d1fd
cmp word [eax], di
je 0x42d1d7
mov word [eax], di
mov eax, dword [ebp + 0x34]
cmp word [eax], 0x3f
jne 0x42d1e8
add dword [ebp + 0x34], 2
mov byte [ebp + 0x32], 2
mov eax, dword [ebp + 0x34]
mov dword [ebp + 4], eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp + 0x34]
push eax
call fcn.00440edc
pop ecx
pop ecx
mov ecx, dword [ebp + 0x4c]
mov al, byte [ebp + 0x55]
and al, 2
mov byte [ebp + 0x55], al
je 0x42d216
cmp esi, edi
je 0x42d216
cmp word [esi], di
jne 0x42d216
mov dword [ebp + 0x3c], edi
test al, al
je 0x42d29e
cmp ecx, edi
je 0x42d29e
cmp dword [ebp + 0x40], edi
je 0x42d280
mov edx, ecx
xor eax, eax
jmp 0x42d241
cmp ax, 0x2c
je 0x42d249
call fcn.00402d55
test al, al
jne 0x42d249
inc ecx
inc ecx
mov dword [ebp + 0x4c], ecx
mov ax, word [ecx]
cmp ax, di
jne 0x42d22d
sub ecx, edx
sar ecx, 1
push ecx
push edx
lea ecx, [ebp + 0x1c]
call fcn.00444b34
mov eax, dword [ebp + 0x4c]
cmp word [eax], di
je 0x42d29b
lea ecx, [ebp + 0x4c]
mov edx, eax
call fcn.0040f813
mov eax, dword [ebp + 0x4c]
cmp word [eax], 0x2c
jne 0x42d27b
add dword [ebp + 0x4c], 2
call fcn.0040f813
mov word [edx], di
jmp 0x42d293
mov ecx, dword [ebp + 0x70]
push edi
push 0x2c
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp + 0x4c]
push eax
call fcn.0043970c
mov eax, dword [ebp + 0x4c]
cmp word [eax], di
jne 0x42d29e
mov dword [ebp + 0x4c], edi
push 0x20a
lea ecx, [ebp - 0x54]
mov dword [ebp + 0x60], edi
mov dword [ebp + 0x40], edi
mov dword [ebp + 0x64], edi
mov byte [ebp + 0x3a], 0xff
call fcn.00444a2e
cmp byte [ebp + 0x49], 0
mov byte [ebp - 5], 0
jg 0x42d2d0
push dword [ebp - 0x54]
push 0x208
call dword [sym.imp.KERNEL32.DLL_GetCurrentDirectoryW]
cmp byte [ebp + 0x56], 0
mov eax, dword [ebp + 0x4c]
je 0x42d2f1
cmp eax, edi
je 0x42d2f1
cmp word [eax], 0x5e
jne 0x42d2f1
push 0x2a
pop edx
cmp word [eax + 2], dx
jne 0x42d2f4
xor esi, esi
inc esi
jmp 0x42d2f6
push 0x2a
pop edx
xor esi, esi
cmp byte [ebp + 0x56], 0
je 0x42d315
cmp eax, edi
je 0x42d315
cmp word [eax], 0x5e
jne 0x42d315
cmp word [eax + 2], dx
je 0x42d315
mov dword [ebp - 0x50], 1
jmp 0x42d31c
cmp esi, edi
mov dword [ebp - 0x50], edi
je 0x42d321
inc eax
inc eax
mov dword [ebp + 0x4c], eax
cmp byte [ebp + 0x56], 0
je 0x42d371
cmp byte [ebp + 0x54], 0
jne 0x42d371
mov ecx, dword [ebp + 0x1c]
mov cx, word [ecx]
cmp cx, di
je 0x42d367
cmp cx, dx
je 0x42d367
cmp eax, edi
je 0x42d371
cmp word [eax], dx
je 0x42d371
push eax
lea eax, [ebp + 0x4a]
push eax
call fcn.00411f88
pop ecx
pop ecx
push dword [ebp + 0x4c]
call dword [sym.imp.KERNEL32.DLL_LoadLibraryW]
mov dword [ebp + 0x60], eax
mov byte [ebp + 0x4b], 1
jmp 0x42f1b9
mov esi, 0x80070057
jmp 0x42f304
cmp byte [ebp + 0x5f], 0
je 0x42d401
cmp word [eax], dx
mov byte [ebp + 0x4b], 1
jne 0x42d389
inc eax
inc eax
mov dword [ebp + 0x4c], eax
mov cx, word [eax]
cmp cx, dx
je 0x42d397
cmp cx, 0x23
jne 0x42d39d
mov byte [ebp + 0x54], 1
jmp 0x42d384
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp + 0x4c]
push eax
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], edi
call fcn.00451370
cmp dword [ebp + 0x4c], edi
pop ecx
pop ecx
je 0x42f1e5
add dword [ebp + 0x4c], 2
je 0x42f1e5
push dword [ebp + 0x4c]
lea ecx, [ebp + 0x78]
call fcn.00402d16
cmp byte [ebp + 0x54], 0
je 0x42d3ea
mov ecx, dword [ebp - 0x28]
mov eax, ecx
or eax, dword [ebp - 0x24]
je 0x42d3f9
push dword [ebp + 0x78]
call fcn.004104fa
jmp 0x42d3f6
push dword [ebp + 0x78]
push dword [ebp - 0x28]
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [ebp + 0x60], eax
lea ecx, [ebp + 0x78]
jmp 0x42e315
cmp byte [ebp + 0x57], 0
je 0x42d470
cmp word [eax], dx
mov byte [ebp + 0x4b], 1
jne 0x42d415
inc eax
inc eax
mov dword [ebp + 0x4c], eax
mov cx, word [eax]
cmp cx, dx
je 0x42d423
cmp cx, 0x23
jne 0x42d429
mov byte [ebp + 0x54], 1
jmp 0x42d410
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp + 0x4c]
push eax
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], edi
call fcn.00451370
cmp byte [ebp + 0x54], 1
pop ecx
pop ecx
jle 0x42d45f
mov ecx, dword [ebp - 0x28]
mov eax, ecx
or eax, dword [ebp - 0x24]
je 0x42f1e5
call fcn.004104b3
mov dword [ebp + 0x60], edi
jmp 0x42f1e5
push dword [ebp - 0x28]
call dword [sym.imp.KERNEL32.DLL_FreeLibrary]
mov dword [ebp + 0x60], eax
jmp 0x42f1e5
cmp byte [ebp + 0x17], 0
mov byte [ebp + 0x57], 0
je 0x42d47e
mov byte [ebp + 0x57], 1
cmp eax, edi
mov esi, dword [sym.imp.KERNEL32.DLL_lstrcmpiW]
jne 0x42d5a5
cmp dword [ebp + 0x3c], edi
jne 0x42d49a
mov dword [ebp + 0x3c], 0x4c5326
jmp 0x42d4ba
push dword [ebp + 0x3c]
push 0x4c5326
call esi
test eax, eax
je 0x42d4ba
push dword [ebp + 0x3c]
push 0x4c52fa
call esi
test eax, eax
jne 0x42d5a5
cmp dword [ebp - 0xc], edi
mov byte [ebp + 0x57], 0xff
jge 0x42d4ca
mov dword [ebp - 0xc], 0x31
cmp byte [ebp - 0xc], 0
je 0x42d5a5
lea ecx, [ebp + 0x78]
call fcn.00444a10
push 0xffffffffffffffff
push str.___exe:_
lea ecx, [ebp + 0x7c]
call fcn.0044dfb0
lea eax, [ebp + 0x7c]
push eax
lea ecx, [ebp + 0x78]
call fcn.0044e010
lea ecx, [ebp + 0x7c]
call fcn.0043e48d
push 0x51c
lea ecx, [ebp + 0x78]
call fcn.00444a55
mov eax, dword [ebp + 0x78]
push 0x208
add eax, 0x10
push eax
push edi
call dword [sym.imp.KERNEL32.DLL_GetModuleFileNameW]
push 0xffffffffffffffff
push str.____nowin___nfb___hide_PECMDpecmd_cmd_CALL__
lea ecx, [ebp + 0x7c]
call fcn.0044dfb0
push dword [eax]
lea ecx, [ebp + 0x78]
call fcn.00444a7c
lea ecx, [ebp + 0x7c]
call fcn.0043e48d
mov eax, dword [ebp + 0xc]
cmp eax, edi
jl 0x42d54e
mov ecx, dword [ebp - 0x60]
mov word [ecx + eax*2], di
push dword [ebp - 0x60]
lea ecx, [ebp + 0x78]
call fcn.00444a7c
push 0xffffffffffffffff
push 0x4c52b4
lea ecx, [ebp + 0x7c]
call fcn.0044dfb0
push dword [eax]
lea ecx, [ebp + 0x78]
call fcn.00444a7c
lea ecx, [ebp + 0x7c]
call fcn.0043e48d
push dword [ebp + 0x3c]
lea ecx, [ebp + 0x78]
call fcn.00444a7c
mov ecx, dword [ebp + 0x70]
push edi
push edi
push edi
push edi
push edi
push ecx
push dword [ebp + 0x78]
call fcn.0040a660
lea ecx, [ebp + 0x78]
mov esi, eax
call fcn.0043e48d
jmp 0x42f304
mov eax, dword [ebp + 0x3c]
cmp eax, edi
je 0x42f359
cmp word [eax], di
je 0x42f359
cmp byte [ebp + 0x3b], 0
jne 0x42d63d
cmp byte [ebp + 0x25], 0
je 0x42d63d
cmp dword [ebp + 0x7c], edi
je 0x42d63d
mov eax, dword [ebp + 0x20]
add eax, 0x1ac
cmp dword [ebp - 0x14], 2
mov dword [ebp - 0x40], eax
mov dword [ebp + 0x7c], edi
jle 0x42d62d
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x7c]
mov edi, ecx
add ecx, 0x1ac
lea esi, [eax + 8]
sub edi, eax
mov dword [ebp], ecx
sub dword [ebp], eax
mov eax, dword [ebp - 0x14]
add eax, 0xfffffffe
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp + 0x70]
push 1
push 0
lea eax, [ebp + 0x7c]
push eax
push dword [edi + esi]
call fcn.00455dfb
mov eax, dword [ebp + 0x7c]
mov ecx, dword [ebp]
mov dword [esi], eax
mov eax, dword [ebp + 0x7c]
mov dword [ecx + esi], eax
and dword [ebp + 0x7c], 0
add esi, 4
dec dword [ebp - 0x1c]
jne 0x42d600
lea ecx, [ebp + 0x7c]
call fcn.0043e48d
mov esi, dword [sym.imp.KERNEL32.DLL_lstrcmpiW]
xor edi, edi
push str._DllRegisterServer
push dword [ebp + 0x3c]
mov dword [ebp + 0x10], 2
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x44], edi
call esi
test eax, eax
jne 0x42d673
cmp dword [ebp - 0xc], edi
mov dword [ebp + 0x3c], 0x4c5326
mov byte [ebp + 0x57], 0xff
jge 0x42d66f
mov dword [ebp - 0xc], 0x31
mov byte [ebp + 0x4a], 1
push str._DllUnregisterServer
push dword [ebp + 0x3c]
call esi
test eax, eax
jne 0x42d69f
cmp dword [ebp - 0xc], edi
mov ecx, 0x4c52fa
mov dword [ebp + 0x3c], ecx
mov byte [ebp + 0x57], 0xff
jge 0x42d699
mov dword [ebp - 0xc], 0x71
mov byte [ebp + 0x4a], 1
jmp 0x42d6a2
mov ecx, dword [ebp + 0x3c]
xor edx, edx
mov dx, word [ecx]
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], edi
mov eax, edx
call fcn.004148c8
test al, al
jne 0x42d6d2
cmp dx, 0x26
je 0x42d70b
cmp dword [ebp + 0x28], edi
jg 0x42d70b
mov eax, dword [ebp + 0x74]
cmp word [eax], 0x23
jne 0x42d73f
cmp word [eax + 2], di
jne 0x42d73f
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x84]
push eax
mov dword [ebp - 0x84], ecx
call fcn.0045152f
mov eax, dword [ebp - 0x28]
pop ecx
pop ecx
mov ecx, eax
or ecx, dword [ebp - 0x24]
je 0x42d726
mov dword [ebp + 0x64], eax
cmp byte [ebp + 0x49], 0
mov byte [ebp + 0x57], 1
jge 0x42d705
mov byte [ebp + 0x49], 1
mov byte [ebp + 0x46], 0
jmp 0x42d742
push edi
push 0xffffffffffffffff
push edi
push ecx
mov ecx, dword [ebp + 0x70]
call fcn.00410c6f
cmp eax, edi
je 0x42d726
mov eax, dword [eax + 4]
cmp eax, edi
mov dword [ebp + 0x64], eax
jne 0x42d6f7
mov al, byte [ebp + 0x33]
neg al
sbb eax, eax
and eax, 0x7ff8ffa9
add eax, 0x80070057
mov dword [ebp + 0x60], eax
jmp 0x42f251
mov eax, dword [ebp + 0x64]
mov ecx, dword [ebp + 0x28]
cmp ecx, edi
jle 0x42d75b
cmp eax, edi
je 0x42d75b
dec ecx
cmp ecx, edi
jl 0x42d75b
inc ecx
dec ecx
mov eax, dword [eax]
jne 0x42d753
mov dword [ebp + 0x64], eax
or dword [ebp - 0x2c], 0xffffffff
cmp dword [ebp + 4], edi
mov dword [ebp - 0x1c], eax
je 0x42d780
cmp dword [ebp + 8], edi
jge 0x42d780
cmp eax, edi
mov byte [ebp + 0x7f], 1
jne 0x42d7a0
mov dword [ebp - 0x18], 0x80070057
jmp 0x42f1b9
mov byte [ebp + 0x7f], 0
cmp byte [ebp + 0x32], 0
je 0x42d9e8
mov ecx, dword [ebp + 8]
mov dword [ebp + 0x60], ecx
mov dword [ebp - 0x18], ecx
mov byte [ebp + 0x4b], 0x10
jmp 0x42f1e5
mov esi, dword [eax]
cmp esi, edi
mov dword [ebp + 0x34], edi
mov dword [ebp], esi
je 0x42d885
push dword [ebp + 4]
push str.Release
call fcn.0043f902
test al, al
pop ecx
pop ecx
je 0x42d7cf
mov dword [ebp + 8], 2
jmp 0x42d9a5
push dword [ebp + 4]
push str.AddRef
call fcn.0043f902
test al, al
pop ecx
pop ecx
je 0x42d7ee
mov dword [ebp + 8], 1
jmp 0x42d9a5
push dword [ebp + 4]
push str.QueryInterface
call fcn.0043f902
test al, al
pop ecx
pop ecx
je 0x42d809
mov dword [ebp + 8], edi
jmp 0x42d9a5
push dword [ebp + 4]
push str.GetTypeInfoCount
call fcn.0043f902
test al, al
pop ecx
pop ecx
je 0x42d828
mov dword [ebp + 8], 3
jmp 0x42d9a5
push dword [ebp + 4]
push str.GetTypeInfo
call fcn.0043f902
test al, al
pop ecx
pop ecx
je 0x42d847
mov dword [ebp + 8], 4
jmp 0x42d9a5
push dword [ebp + 4]
push str.GetIDsOfNames
call fcn.0043f902
test al, al
pop ecx
pop ecx
je 0x42d866
mov dword [ebp + 8], 5
jmp 0x42d9a5
push dword [ebp + 4]
push str.Invoke
call fcn.0043f902
test al, al
pop ecx
pop ecx
je 0x42d885
mov dword [ebp + 8], 6
jmp 0x42d9a5
mov eax, dword [ebp + 0x64]
mov ecx, dword [eax]
lea edx, [ebp - 0x2c]
push edx
mov esi, 0x800
push esi
push 1
lea edx, [ebp + 4]
push edx
push 0x4cd634
push eax
call dword [ecx + 0x14]
cmp eax, edi
mov ecx, dword [ebp - 0x2c]
mov dword [ebp + 8], ecx
jne 0x42d9d2
cmp ecx, edi
jl 0x42d9d2
cmp dword [ebp], edi
mov dword [ebp - 0x74], edi
je 0x42d8ce
mov eax, dword [ebp + 0x64]
mov ecx, dword [eax]
lea edx, [ebp - 0x74]
push edx
push eax
call dword [ecx + 0xc]
cmp dword [ebp - 0x74], edi
mov dword [ebp - 0x30], edi
je 0x42d8ef
cmp dword [ebp], edi
je 0x42d8ef
cmp dword [ebp + 0x34], edi
jne 0x42d8f8
mov eax, dword [ebp + 0x64]
mov ecx, dword [eax]
lea edx, [ebp + 0x34]
push edx
push esi
push edi
push eax
call dword [ecx + 0x10]
cmp dword [ebp + 0x34], edi
je 0x42d784
mov edi, dword [ebp - 0x20]
mov dword [ebp + 0x28], 7
mov eax, dword [ebp + 0x34]
and dword [ebp - 0x30], 0
mov ecx, dword [eax]
lea edx, [ebp - 0x30]
push edx
push dword [ebp + 0x28]
push eax
call dword [ecx + 0x14]
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x42d9bc
mov ecx, dword [ebp + 0x34]
mov edx, dword [ecx]
mov esi, dword [eax]
push eax
push ecx
call dword [edx + 0x50]
cmp esi, dword [ebp - 0x2c]
jne 0x42d93e
cmp byte [ebp + 0x53], 0
jge 0x42d93e
cmp byte [ebp + 0x32], 0
jle 0x42d994
mov eax, dword [ebp + 0x34]
or dword [ebp + 0xc], 0xffffffff
mov ecx, dword [eax]
lea edx, [ebp + 0xc]
push edx
push 0x70
push edi
push esi
push eax
call dword [ecx + 0x1c]
cmp dword [ebp + 0xc], 0
jle 0x42d97a
push dword [ebp + 4]
mov eax, dword [edi]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcmpW]
test eax, eax
jne 0x42d97a
cmp byte [ebp + 0x53], al
jl 0x42d98c
movsx eax, byte [ebp + 0x53]
mov ecx, dword [ebp - 0x30]
cmp eax, dword [ecx + 0x10]
je 0x42d98c
inc dword [ebp + 0x28]
cmp dword [ebp + 0x28], 0x7fffffff
jl 0x42d902
jmp 0x42d9bc
mov al, byte [ebp + 0xc]
dec al
mov byte [ebp + 0x3a], al
mov ecx, dword [ebp]
mov eax, dword [ebp + 0x28]
cmp dword [ecx + eax*4], 0
je 0x42d9bc
mov dword [ebp + 8], eax
mov esi, ecx
cmp byte [ebp + 0x52], 0
mov byte [ebp + 0x7f], 0xff
je 0x42d9b3
or byte [ebp + 0x52], 2
mov eax, dword [ebp + 8]
mov eax, dword [esi + eax*4]
mov dword [ebp + 0x64], eax
mov eax, dword [ebp + 0x34]
test eax, eax
je 0x42d784
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x42d784
cmp byte [ebp + 0x32], 0
mov dword [ebp - 0x18], 0x80004001
jne 0x42d791
jmp 0x42f1b9
cmp byte [ebp + 0x7f], 1
jne 0x42d9f6
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x34]
mov dword [ecx], eax
cmp byte [ebp + 0x3b], 0
jne 0x42df3f
cmp byte [ebp + 0x25], 0
je 0x42df3f
mov ecx, dword [ebp - 0x40]
cmp dword [ecx + 4], 0
je 0x42df3f
cmp byte [ebp + 0x55], 0
je 0x42da2e
mov eax, dword [ecx + 8]
test eax, eax
mov dword [ebp + 0x58], eax
je 0x42da2e
mov dword [ebp + 0x10], 3
cmp dword [ebp + 4], 0
je 0x42da3e
and dword [ebx], 0
mov dword [ebp + 0x18], 1
cmp dword [ebp + 0x18], 0x64
mov al, byte [ebp + 0x5e]
mov byte [ebp + 0x17], al
ja 0x42df3f
mov eax, dword [ebp + 0x18]
lea eax, [ebx + eax*4]
mov dword [ebp + 0x34], eax
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 0x34]
shl eax, 2
add ecx, eax
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp + 0x20]
lea eax, [eax + ecx - 4]
mov dword [ebp + 0x28], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
add dword [ebp + 0xc], 4
add dword [ebp + 0x28], 4
test eax, eax
mov dword [ebp + 0x58], eax
je 0x42df3f
mov ecx, dword [ebp - 0x58]
test ecx, ecx
mov dword [edi], eax
mov eax, dword [ebp + 0x58]
mov si, word [eax]
mov byte [ebp + 0x55], 0
jne 0x42daa2
mov dl, byte [ebp + 0x17]
mov byte [ebp + 0x5e], dl
jmp 0x42dac1
cmp word [ecx], 0
je 0x42dabe
mov ecx, dword [ebp - 0x58]
mov dl, byte [ecx]
add ecx, 2
cmp word [ecx], 0
mov byte [ebp + 0x5e], dl
je 0x42dac1
mov dword [ebp - 0x58], ecx
jmp 0x42dac1
mov dl, byte [ebp + 0x5e]
cmp dl, 0x23
je 0x42dbbc
cmp dl, 0x2a
je 0x42dbbc
cmp dl, 0x3c
je 0x42dbbc
cmp dl, 0x3e
je 0x42dbbc
cmp dl, 0x24
je 0x42dcff
cmp dl, 0x40
je 0x42dd36
cmp dl, 0x3d
je 0x42dd6d
cmp dl, 0x7e
je 0x42dd24
test dl, dl
jne 0x42dcc5
cmp si, 0x23
je 0x42deb8
cmp si, 0x3c
je 0x42dd80
cmp si, 0x3e
jne 0x42df26
cmp word [eax], 0x3e
jne 0x42db3a
inc eax
inc eax
mov dword [ebp + 0x58], eax
mov dword [ebp + 0x20], 0xc
cmp word [eax], 0x3a
jne 0x42db68
inc eax
inc eax
mov dword [ebp + 0x58], eax
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x58]
push eax
call fcn.00440edc
mov eax, dword [ebp + 0x58]
cmp word [eax], 0x3a
pop ecx
pop ecx
jne 0x42db68
add dword [ebp + 0x58], 2
lea ecx, [ebp - 0x30]
call fcn.00444a10
mov ecx, dword [ebp + 0x70]
xor esi, esi
push esi
push 0x2c
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp + 0x58]
push eax
call fcn.0043970c
mov ecx, dword [ebp + 0x70]
push esi
push 0xffffffffffffffff
push esi
push dword [ebp - 0x30]
mov dword [ebp + 0x58], esi
call fcn.00410c6f
cmp eax, esi
je 0x42dba1
mov ecx, dword [eax + 4]
mov dword [ebp + 0x58], ecx
cmp eax, esi
mov ecx, dword [ebp + 0x58]
mov dword [edi], ecx
push 0x10
jne 0x42dd4a
push esi
push edi
call fcn.004acf60
jmp 0x42dd53
cmp si, 0x3c
je 0x42dcc5
cmp si, 0x23
je 0x42dcc5
cmp si, 0x2a
je 0x42dcc5
cmp si, 0x24
je 0x42dcc5
cmp si, 0x40
je 0x42dcc5
cmp si, 0x3d
je 0x42dcc5
cmp si, 0x7e
je 0x42dcc5
cmp dl, 0x23
je 0x42deb8
cmp dl, 0x3c
je 0x42dd80
cmp dl, 0x3e
movsx si, dl
je 0x42db2f
cmp word [eax], 0x2a
jne 0x42dc2c
inc eax
inc eax
mov dword [ebp + 0x58], eax
xor ecx, ecx
cmp si, 0x2a
setne cl
xor edi, edi
dec ecx
and ecx, 0x3fff
add ecx, 0xc
mov dword [ebp + 0x20], ecx
cmp word [eax], 0x3a
jne 0x42dc6c
inc eax
inc eax
mov dword [ebp + 0x58], eax
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x58]
push eax
call fcn.00440edc
mov eax, dword [ebp + 0x58]
cmp word [eax], 0x3a
pop ecx
pop ecx
jne 0x42dc6c
inc eax
inc eax
mov dword [ebp + 0x58], eax
mov cx, word [eax]
cmp cx, 0x7e
jne 0x42de01
inc eax
inc eax
mov edi, 0xfde9
mov dword [ebp + 0x58], eax
lea ecx, [ebp]
call fcn.00444a10
mov ecx, dword [ebp + 0x70]
xor esi, esi
push esi
push 0x2c
lea eax, [ebp]
push eax
lea eax, [ebp + 0x58]
push eax
call fcn.0043970c
mov ecx, dword [ebp + 0x70]
push esi
push 0xffffffffffffffff
push esi
push dword [ebp]
mov dword [ebp + 0x58], esi
call fcn.00410c6f
cmp eax, esi
je 0x42de12
mov eax, dword [eax + 4]
mov dword [ebp + 0x58], eax
jmp 0x42de15
inc eax
movzx ecx, si
inc eax
sub ecx, 0x23
mov dword [ebp + 0x58], eax
mov byte [ebp + 0x55], 1
je 0x42deb8
sub ecx, 7
je 0x42dc21
sub ecx, 0x12
je 0x42dd80
dec ecx
je 0x42dd6d
dec ecx
je 0x42db2f
dec ecx
dec ecx
je 0x42dd36
sub ecx, 0x3e
je 0x42dd24
cmp byte [ebp + 0x7f], 1
mov dword [edi], eax
jne 0x42df26
mov eax, dword [ebp - 4]
mov word [eax], 8
mov ecx, dword [ebp + 0x58]
mov dword [eax + 8], ecx
add eax, 0x10
mov dword [ebp - 4], eax
jmp 0x42df26
test eax, eax
mov edi, 0xfde9
je 0x42de64
jmp 0x42de2b
xor edi, edi
test eax, eax
jne 0x42de2b
mov eax, dword [ebp + 0x34]
and dword [eax], edi
jmp 0x42de69
push dword [eax + 4]
push edi
call fcn.004143a0
add dword [ebp + 0x18], 3
add edi, 0xc
add esp, 0xc
lea ecx, [ebp - 0x30]
mov dword [ebp + 0x34], edi
call fcn.0043e48d
jmp 0x42de89
movsx eax, byte [ebp + 0x55]
mov ecx, dword [ebp + 0x28]
mov ecx, dword [ecx]
lea eax, [ecx + eax*2]
mov dword [edi], eax
jmp 0x42df26
cmp word [eax], 0x3c
jne 0x42dd8b
inc eax
inc eax
mov dword [ebp + 0x58], eax
mov dword [ebp + 0x20], 0x14
cmp word [eax], 0x3a
jne 0x42ddb9
inc eax
inc eax
mov dword [ebp + 0x58], eax
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x58]
push eax
call fcn.00440edc
mov eax, dword [ebp + 0x58]
cmp word [eax], 0x3a
pop ecx
pop ecx
jne 0x42ddb9
add dword [ebp + 0x58], 2
and dword [ebp - 0x48], 0
and dword [ebp - 0x44], 0
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp + 0x58]
push eax
call fcn.0045152f
cmp byte [ebp + 0x7f], 1
mov eax, dword [ebp - 0x48]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x44]
mov dword [edi], eax
jne 0x42ddf4
mov edx, dword [ebp - 4]
mov si, word [ebp + 0x20]
mov word [edx], si
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
add edx, 0x10
mov dword [ebp - 4], edx
inc dword [ebp + 0x18]
add edi, 4
mov dword [edi], ecx
jmp 0x42df26
cmp cx, 0x40
jne 0x42dc83
xor edi, edi
jmp 0x42dc83
mov eax, dword [ebp + 0x58]
cmp di, si
je 0x42de79
cmp eax, esi
je 0x42de71
cmp word [eax], si
je 0x42de79
lea ecx, [ebp]
call fcn.0043e48d
push 4
call fcn.004ad1a8
test eax, eax
pop ecx
je 0x42de3e
and dword [eax], 0
mov esi, eax
jmp 0x42de40
xor esi, esi
movzx eax, di
push eax
push 0xffffffffffffffff
push dword [ebp + 0x58]
mov ecx, esi
call fcn.00444998
mov eax, dword [esi]
push esi
lea ecx, [ebp - 0x94]
mov dword [ebp + 0x58], eax
call fcn.0040f854
mov eax, dword [ebp + 0x58]
mov ecx, dword [ebp + 0x34]
mov dword [ecx], eax
mov edi, dword [ebp + 0x34]
jmp 0x42df26
mov eax, 0x4bfa2c
mov dword [ebp + 0x58], eax
mov ecx, dword [ebp + 0x34]
mov dword [ecx], eax
lea ecx, [ebp]
call fcn.0043e48d
mov edi, dword [ebp + 0x34]
cmp byte [ebp + 0x7f], 1
jne 0x42df26
mov eax, dword [ebp + 0x20]
cmp eax, 0xc
mov ecx, dword [ebp - 4]
mov word [ecx], ax
jne 0x42deac
mov esi, dword [ebp + 0x58]
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 0x42deb2
mov eax, dword [ebp + 0x58]
mov dword [ecx + 8], eax
add dword [ebp - 4], 0x10
jmp 0x42de69
cmp word [eax], 0x23
jne 0x42dec3
inc eax
inc eax
mov dword [ebp + 0x58], eax
mov dword [ebp + 0x20], 3
cmp word [eax], 0x3a
jne 0x42def1
inc eax
inc eax
mov dword [ebp + 0x58], eax
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x58]
push eax
call fcn.00440edc
mov eax, dword [ebp + 0x58]
cmp word [eax], 0x3a
pop ecx
pop ecx
jne 0x42def1
add dword [ebp + 0x58], 2
and dword [ebp - 0x48], 0
and dword [ebp - 0x44], 0
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp + 0x58]
push eax
call fcn.0045152f
cmp byte [ebp + 0x7f], 1
mov eax, dword [ebp - 0x48]
pop ecx
pop ecx
mov dword [edi], eax
jne 0x42df26
mov ecx, dword [ebp - 4]
mov dx, word [ebp + 0x20]
mov word [ecx], dx
mov dword [ecx + 8], eax
add ecx, 0x10
mov dword [ebp - 4], ecx
inc dword [ebp + 0x18]
add edi, 4
cmp byte [ebp - 0xd], 0
mov dword [ebp + 0x34], edi
jne 0x42df3f
cmp dword [ebp + 0x18], 0x64
jbe 0x42da6f
cmp byte [ebp + 0x56], 0
je 0x42df53
mov eax, dword [ebp + 0x74]
mov edi, dword [ebp + 0x4c]
mov dword [ebp + 0x74], edi
mov dword [ebp + 0x4c], eax
jmp 0x42df56
mov edi, dword [ebp + 0x74]
and dword [ebp + 0x10], 0
test edi, edi
mov byte [ebp + 0x5f], 0
je 0x42df7b
cmp word [edi], 0x22
jne 0x42df6f
mov dword [ebp + 0x10], 1
push edi
call fcn.004130a1
mov edi, eax
pop ecx
mov dword [ebp + 0x74], edi
push 0x2a
mov ecx, edi
pop esi
mov dword [ebp + 0x2c], ecx
cmp word [edi], si
mov byte [ebp + 0x53], 0
jne 0x42df9e
lea eax, [ecx + 2]
cmp word [eax], si
jne 0x42df9e
mov ecx, eax
mov dword [ebp + 0x2c], ecx
cmp word [ecx], si
je 0x42df8c
mov dx, word [ecx]
cmp dx, si
jne 0x42e016
xor eax, eax
mov ax, word [ecx + 2]
push eax
call fcn.004aadc6
add esp, 4
test al, al
jne 0x42dfbd
or byte [ebp + 0x54], 2
cmp dx, si
jne 0x42e016
xor eax, eax
lea edx, [ecx + 2]
mov ax, word [edx]
push eax
call fcn.004aadc6
add esp, 4
test al, al
je 0x42e016
cmp ecx, edi
seta al
and dword [ebp - 0x78], 0
and dword [ebp - 0x74], 0
inc al
mov byte [ebp + 0x53], al
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp + 0x2c]
push eax
mov dword [ebp + 0x2c], edx
call fcn.00451370
test eax, eax
pop ecx
pop ecx
jle 0x42d367
mov eax, dword [ebp - 0x78]
test eax, eax
je 0x42d367
mov ecx, dword [ebp + 0x2c]
mov dword [ebp + 0x40], eax
jmp 0x42e021
cmp word [ecx], 0
jne 0x42e027
xor ecx, ecx
mov dword [ebp + 0x2c], ecx
cmp byte [ebp + 0x53], 0
jne 0x42e03e
test ecx, ecx
je 0x42e03e
cmp word [ecx], 0x2e
jne 0x42e03e
cmp word [ecx + 2], 0
jne 0x42e03e
mov byte [ebp + 0x55], 1
jmp 0x42e048
cmp byte [ebp + 0x53], 0
mov byte [ebp + 0x55], 0
jne 0x42e0bb
cmp byte [ebp + 0x46], 0
je 0x42e0bb
cmp byte [ebp + 0x54], 0
jne 0x42e0bb
cmp byte [ebp + 0x55], 0
je 0x42e061
mov eax, dword [0x4dac7c]
jmp 0x42e068
push ecx
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleW]
test eax, eax
jne 0x42e08b
push dword [ebp + 0x74]
lea eax, [ebp + 0x4a]
push eax
call fcn.00411f88
pop ecx
pop ecx
push dword [ebp + 0x74]
mov byte [ebp - 5], 1
call dword [sym.imp.KERNEL32.DLL_LoadLibraryW]
test eax, eax
je 0x42e091
and dword [ebp + 0x60], 0
jmp 0x42e0a9
cmp byte [ebp + 0x33], 0
je 0x42e0a0
and dword [ebp + 0x60], 0
jmp 0x42f1b9
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov dword [ebp + 0x60], eax
cmp byte [ebp - 5], 1
je 0x42f1b9
mov esi, dword [ebp + 0x60]
jmp 0x42f304
push dword [ebp + 0x74]
lea eax, [ebp + 0x4a]
push eax
call fcn.00411f88
cmp dword [ebp + 0x64], 0
pop ecx
pop ecx
jne 0x42e604
cmp byte [ebp + 0x54], 0
mov eax, dword [0x4dac7c]
mov esi, dword [ebp + 0x2c]
jne 0x42e10f
cmp dword [ebp + 0x40], 0
jne 0x42e10f
cmp byte [ebp + 0x57], 0
jne 0x42e10f
test esi, esi
je 0x42e10b
cmp word [esi], 0x2e
jne 0x42e362
cmp word [esi + 2], 0
jne 0x42e362
mov dword [ebp + 0x40], eax
jmp 0x42e117
mov byte [ebp + 0x57], 2
test esi, esi
je 0x42e4c8
cmp dword [ebp + 0x40], 0
jne 0x42e4dd
cmp byte [ebp + 0x54], 0
je 0x42e362
xor edx, edx
xor ecx, ecx
cmp dword [ebp + 0x10], edx
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], edx
mov cx, word [esi]
mov edi, esi
mov dword [ebp - 0x20], ecx
jne 0x42e15e
cmp cx, 0x23
jne 0x42e15e
xor eax, eax
mov ax, word [esi + 2]
push eax
call fcn.004aadc6
add esp, 4
test al, al
jne 0x42e1a9
cmp cx, 0x2a
jne 0x42e16b
inc esi
inc esi
mov dword [ebp + 0x2c], esi
mov edi, esi
cmp word [esi], 0x22
mov dword [ebp - 0x40], edx
jne 0x42e19c
inc esi
inc esi
push 0x22
lea eax, [ebp + 0x10]
mov dword [ebp + 0x2c], esi
mov dword [ebp + 0x10], esi
call fcn.004a3a6c
mov edi, dword [ebp + 0x10]
cmp word [edi], 0
pop ecx
je 0x42e19c
and word [edi], 0
mov esi, dword [ebp + 0x2c]
mov dword [ebp - 0x40], edi
inc edi
inc edi
cmp word [ebp - 0x20], 0x2a
jne 0x42e25f
xor edx, edx
mov eax, dword [0x4daf98]
mov dword [ebp + 0xc], edx
jmp 0x42e1bb
cmp cx, 0x23
je 0x42e1c3
inc edi
inc edi
mov cx, word [edi]
cmp cx, dx
jne 0x42e1b3
cmp word [edi], dx
mov esi, edi
je 0x42e1e7
mov cx, word [esi]
cmp cx, 0x7c
je 0x42e1e2
cmp cx, 0x3a
je 0x42e1e2
inc esi
inc esi
cmp word [esi], dx
jne 0x42e1ca
jmp 0x42e1e7
mov word [esi], dx
inc esi
inc esi
cmp word [esi], dx
jne 0x42e1f1
mov esi, str.EXEDATA
cmp word [edi], 0x23
jne 0x42e26b
mov ecx, dword [ebp - 0x40]
cmp ecx, edx
mov word [edi], dx
je 0x42e204
mov word [ecx], dx
mov ecx, dword [ebp + 0x2c]
cmp word [ecx], 0x2e
jne 0x42e220
lea edx, [ecx + 2]
cmp word [edx], 0
jne 0x42e220
mov eax, dword [0x4dac7c]
mov ecx, edx
mov dword [ebp + 0x2c], ecx
cmp word [ecx], 0
je 0x42e234
push 2
push 0
push ecx
call dword [sym.imp.KERNEL32.DLL_LoadLibraryExW]
mov dword [ebp + 0xc], eax
test eax, eax
mov word [edi], 0x23
je 0x42e24e
push 0
lea ecx, [ebp - 0x6c]
push ecx
push esi
push edi
push eax
call fcn.00415338
add esp, 0x14
cmp dword [ebp + 0xc], 0
je 0x42e26b
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.DLL_FreeLibrary]
jmp 0x42e26b
lea eax, [ebp - 0x6c]
push eax
push esi
call fcn.00414d19
pop ecx
pop ecx
mov edi, dword [ebp - 0x6c]
test edi, edi
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x20], eax
jne 0x42e29b
xor eax, eax
cmp byte [ebp + 0x56], al
lea ecx, [ebp - 0x6c]
sete al
mov byte [ebp + 0x48], 1
mov dword [ebp - 0x18], 1
mov dword [ebp + 0x60], eax
call fcn.0043e48d
jmp 0x42e4ce
lea eax, [ebp - 0x5c]
push 0x28
push eax
call fcn.00410b26
mov esi, eax
test esi, esi
pop ecx
pop ecx
je 0x42e2b5
mov ecx, esi
call fcn.0041492b
push dword [ebp - 0x20]
add esi, 4
push edi
mov ecx, esi
mov dword [ebp - 0x38], esi
call fcn.0041cc5e
test eax, eax
je 0x42e344
cmp byte [ebp + 0x56], 0
je 0x42e31f
mov ecx, dword [ebp + 0x4c]
xor edi, edi
xor eax, eax
cmp ecx, edi
je 0x42e2e0
cmp word [ecx], di
jne 0x42e2e8
mov ecx, dword [ebp + 0x1c]
cmp word [ecx], di
je 0x42e2ea
mov eax, ecx
cmp eax, edi
mov dword [ebp + 0x60], esi
mov byte [ebp + 0x4b], 1
je 0x42e312
mov ecx, dword [ebp - 0x6c]
mov dword [esi + 8], ecx
lea ecx, [ebp - 0x5c]
push ecx
push eax
push esi
push dword [ebp + 0x70]
mov dword [ebp - 0x6c], edi
call fcn.0042c1ae
add esp, 0x10
mov dword [ebp - 0x38], edi
lea ecx, [ebp - 0x6c]
call fcn.0043e48d
jmp 0x42f1e5
push dword [ebp + 0x3c]
lea ecx, [ebp - 0x20]
call fcn.00402d16
push dword [eax]
mov ecx, esi
call fcn.004104fa
lea ecx, [ebp - 0x20]
mov dword [ebp + 0x64], eax
call fcn.0043e48d
cmp dword [ebp + 0x64], 0
jne 0x42e35a
xor eax, eax
cmp byte [ebp + 0x56], al
mov byte [ebp + 0x48], 1
sete al
mov dword [ebp - 0x18], 1
mov dword [ebp + 0x60], eax
lea ecx, [ebp - 0x6c]
jmp 0x42e5ff
xor edi, edi
mov di, word [esi]
and edi, 0xffdf
je 0x42e377
mov edi, dword [esi]
and edi, 0xffdfffdf
cmp byte [ebp + 0x55], 0
jne 0x42e4b8
cmp byte [ebp + 0x56], 0
jne 0x42e4ad
cmp edi, 0x45004b
jne 0x42e3d8
push esi
push dword [0x4d9300]
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
jne 0x42e3ce
push 8
push dword [ebp + 0x2c]
push dword [0x4d9300]
call fcn.0043f884
add esp, 0xc
test al, al
je 0x42e45f
mov esi, dword [ebp + 0x2c]
cmp word [esi + 0x10], 0
jne 0x42e462
mov eax, dword [0x4dafe0]
jmp 0x42e4b8
cmp edi, 0x530055
jne 0x42e41d
push esi
push dword [0x4d92fc]
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
jne 0x42e413
push 6
push dword [ebp + 0x2c]
push dword [0x4d92fc]
call fcn.0043f884
add esp, 0xc
test al, al
je 0x42e45f
mov esi, dword [ebp + 0x2c]
cmp word [esi + 0xc], 0
jne 0x42e462
mov eax, dword [0x4dafdc]
jmp 0x42e4b8
cmp edi, 0x440047
jne 0x42e462
push esi
push dword [0x4d92f8]
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
jne 0x42e458
push 5
push dword [ebp + 0x2c]
push dword [0x4d92f8]
call fcn.0043f884
add esp, 0xc
test al, al
je 0x42e45f
mov esi, dword [ebp + 0x2c]
cmp word [esi + 0xa], 0
jne 0x42e462
mov eax, dword [0x4dafe4]
jmp 0x42e4b8
mov esi, dword [ebp + 0x2c]
cmp dword [0x4dafe8], 0
je 0x42e4ad
cmp edi, 0x4c004f
jne 0x42e4ad
push esi
push dword [0x4d92f4]
call fcn.0043f8c3
test al, al
pop ecx
pop ecx
jne 0x42e4a6
push 5
push dword [ebp + 0x2c]
push dword [0x4d92f4]
call fcn.0043f884
mov esi, dword [ebp + 0x2c]
add esp, 0xc
test al, al
je 0x42e4ad
cmp word [esi + 0xa], 0
jne 0x42e4ad
mov eax, dword [0x4dafe8]
jmp 0x42e4b8
push esi
mov byte [ebp + 0x5f], 1
call dword [sym.imp.KERNEL32.DLL_LoadLibraryW]
test eax, eax
mov dword [ebp + 0x40], eax
jne 0x42e4dd
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov dword [ebp + 0x60], eax
cmp dword [ebp + 0x40], 0
jne 0x42e4dd
cmp byte [ebp + 0x47], 0
jne 0x42e6ac
jmp 0x42f1b9
push dword [ebp + 0x3c]
lea ecx, [ebp + 0x28]
call fcn.00402d16
test byte [ebp + 0x53], 2
push dword [ebp + 0x28]
je 0x42e4fb
mov ecx, dword [ebp + 0x40]
call fcn.004104fa
jmp 0x42e504
push dword [ebp + 0x40]
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
test eax, eax
mov dword [ebp + 0x64], eax
jne 0x42e5fc
cmp byte [ebp + 0x3b], al
je 0x42e5f3
cmp byte [ebp + 0x5e], al
jne 0x42e5f3
mov esi, dword [ebp + 0x3c]
push esi
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
mov dword [ebp + 0x10], eax
lea edi, [eax + eax]
xor eax, eax
mov ax, word [edi + esi - 2]
and eax, 0xffdf
cmp ax, 0x41
je 0x42e5f3
cmp ax, 0x57
je 0x42e5f3
push 4
call fcn.004ad1a8
mov esi, eax
test esi, esi
pop ecx
je 0x42e56f
mov eax, dword [ebp + 0x10]
add eax, 2
push eax
mov ecx, esi
call fcn.00444a2e
jmp 0x42e571
xor esi, esi
push esi
lea ecx, [ebp - 0x94]
call fcn.0040f854
push dword [ebp + 0x10]
push dword [ebp + 0x3c]
push dword [esi]
call fcn.00405988
mov esi, dword [esi]
mov dword [ebp + 0x3c], esi
add esi, edi
and word [esi + 2], 0
add esp, 0xc
cmp byte [ebp + 0x53], 2
mov word [esi], 0x57
push dword [ebp + 0x28]
jne 0x42e5b1
mov ecx, dword [ebp + 0x40]
call fcn.004104fa
jmp 0x42e5ba
push dword [ebp + 0x40]
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
test eax, eax
mov dword [ebp + 0x64], eax
jne 0x42e5fc
push dword [ebp + 0x3c]
lea ecx, [ebp - 0x20]
mov word [esi], 0x41
call fcn.00402d16
push dword [eax]
push dword [ebp + 0x40]
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
lea ecx, [ebp - 0x20]
mov dword [ebp + 0x64], eax
call fcn.0043e48d
cmp dword [ebp + 0x64], 0
je 0x42e5f3
mov byte [ebp + 0x5e], 0x40
jmp 0x42e5fc
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov dword [ebp + 0x60], eax
lea ecx, [ebp + 0x28]
call fcn.0043e48d
and dword [ebp - 0x80], 0
cmp byte [ebp + 0x52], 0
je 0x42e61d
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp + 0x18]
add eax, 8
inc dword [ebp + 0x18]
mov dword [ebx + ecx*4], eax
cmp dword [ebp + 4], 0
je 0x42e628
mov eax, dword [ebp - 0x1c]
mov dword [ebx], eax
mov eax, dword [ebp + 8]
test eax, eax
jl 0x42e687
cmp byte [ebp + 0x7f], 1
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
mov dword [ebp + 0x64], eax
jne 0x42e687
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx]
mov eax, dword [ebp - 4]
sub eax, edx
sar eax, 4
mov dword [ecx + 8], eax
lea ecx, [eax - 1]
shr eax, 1
test eax, eax
jle 0x42e687
shl ecx, 4
add ecx, edx
mov esi, edx
lea edi, [ebp - 0xa4]
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 - 0xa4]
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 0x42e65e
cmp byte [ebp + 0x47], 0
je 0x42e6f3
cmp byte [ebp + 0x5f], 1
jne 0x42e6ac
cmp byte [ebp + 0x57], 0
jg 0x42e6ac
cmp dword [ebp + 0x40], 0
je 0x42e6ac
push dword [ebp + 0x40]
mov byte [ebp + 0x5f], 2
call dword [sym.imp.KERNEL32.DLL_FreeLibrary]
cmp byte [ebp + 0x33], 0
je 0x42e6ba
mov esi, dword [ebp + 0x64]
jmp 0x42f304
cmp dword [ebp + 0x64], 0
je 0x42e6d8
push dword [ebp + 0x64]
lea eax, [ebp - 0x11c]
push str.0x_p
push eax
call dword [sym.imp.user32.dll_wsprintfW]
add esp, 0xc
mov ecx, dword [ebp + 0x70]
lea eax, [ebp - 0x11c]
push eax
push dword [ebp + 0x1c]
call fcn.0044414b
cmp byte [ebp + 0x5f], 2
jmp 0x42e0ad
cmp dword [ebp + 0x64], 0
mov byte [ebp + 0x52], 0
je case.default.0x42ee30
test byte [ebp - 0xc], 7
je 0x42e75d
call fcn.00443694
xor edi, edi
cmp dword [ebp - 0xc], edi
je 0x42e75d
cmp dword [0x4db4a8], edi
je 0x42e75d
cmp dword [0x4db4ac], edi
je 0x42e75d
push 0x4dbd30
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
mov esi, dword [ebp + 0x70]
mov al, byte [esi + 0xe]
test al, 2
jne 0x42e752
test al, 1
jne 0x42e740
mov byte [ebp + 0x52], 1
or byte [ebp + 0x52], 2
or al, 3
push edi
mov byte [esi + 0xe], al
call dword [0x4db4a8]
jmp 0x42e75d
push 0x4dbd30
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
cmp byte [ebp + 0x48], 0
je 0x42e76b
push 0
call dword [sym.imp.KERNEL32.DLL_SetLastError]
cmp byte [ebp + 0x7f], 1
jne 0x42e7a4
mov esi, dword [ebp - 0x1c]
mov edi, dword [esi]
lea eax, [ebp - 0x80]
push eax
movsx ax, byte [ebp + 0x26]
push 0
push dword [ebp - 0x70]
mov byte [ebp + 0x4b], 1
push dword [ebp - 0x34]
push eax
call dword [sym.imp.KERNEL32.DLL_GetUserDefaultLCID]
push eax
push 0x4cd634
push dword [ebp - 0x2c]
push esi
call dword [edi + 0x18]
jmp 0x42f136
cmp byte [ebp + 0x3b], 0
je 0x42e859
xor eax, eax
cmp byte [ebp + 0x5e], 0x40
mov dword [ebp - 0x34], eax
mov byte [ebp + 0x4b], 1
mov word [ebp + 0x7a], ax
jne 0x42e7db
cmp dword [ebp + 0x4c], eax
je 0x42e7e1
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp + 0x4c]
lea ecx, [ebp - 0x34]
call fcn.00444998
mov eax, dword [ebp - 0x34]
mov dword [ebp + 0x4c], eax
cmp dword [ebp + 0x4c], 0
jne 0x42e7e7
lea eax, [ebp + 0x7a]
mov dword [ebp + 0x4c], eax
mov edi, dword [ebp + 0x70]
mov ebx, dword [0x4daf98]
push 0
push edi
call fcn.0041292d
mov esi, dword [ebp + 0x3c]
test esi, esi
pop ecx
pop ecx
mov dword [ebp + 0x10], 5
je 0x42e835
push 0x12
push esi
push str.InstallHinfSection
call fcn.0043f884
add esp, 0xc
test al, al
je 0x42e835
xor eax, eax
cmp word [esi + 0x24], ax
je 0x42e830
cmp word [esi + 0x26], ax
mov word [esi + 0x24], 1
jne 0x42e835
mov dword [ebp + 0x10], eax
xor ebx, ebx
push dword [ebp + 0x10]
push dword [ebp + 0x4c]
push ebx
push dword [edi + 0x28]
call fcn.0043eaa6
pop ecx
push eax
call dword [ebp + 0x64]
lea ecx, [ebp - 0x34]
mov dword [ebp + 0x60], eax
call fcn.0043e48d
jmp case.default.0x42ee30
cmp dword [ebp + 0x78], 1
mov ecx, dword [ebp + 0x18]
jne 0x42ee1b
push 0x64
pop eax
cmp eax, ecx
sbb al, al
inc al
cmp ecx, 0x10
mov byte [ebp + 0x4b], al
ja case.default.0x42e87b
jmp dword [ecx*4 + 0x42f3c6]
push dword [ebx]
call dword [ebp + 0x64]
jmp 0x42e892
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x64]
pop ecx
pop ecx
jmp 0x42f136
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x64]
add esp, 0xc
jmp 0x42f136
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x64]
add esp, 0x10
jmp 0x42f136
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x64]
add esp, 0x14
jmp 0x42f136
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 + 0x64]
add esp, 0x18
jmp 0x42f136
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 + 0x64]
add esp, 0x1c
jmp 0x42f136
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 + 0x64]
add esp, 0x20
jmp 0x42f136
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 + 0x64]
add esp, 0x24
jmp 0x42f136
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 + 0x64]
add esp, 0x28
jmp 0x42f136
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 + 0x64]
add esp, 0x2c
jmp 0x42f136
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 + 0x64]
add esp, 0x30
jmp 0x42f136
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 + 0x64]
add esp, 0x34
jmp 0x42f136
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 + 0x64]
add esp, 0x38
jmp 0x42f136
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 + 0x64]
add esp, 0x3c
jmp 0x42f136
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 + 0x64]
add esp, 0x40
jmp 0x42f136
cmp ecx, 0x14
ja 0x42eafe
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 + 0x64]
add esp, 0x50
jmp 0x42f136
cmp ecx, 0x1e
ja 0x42eb67
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 + 0x64]
add esp, 0x78
jmp 0x42f136
cmp ecx, 0x28
ja 0x42ec0d
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 + 0x64]
add esp, 0xa0
jmp 0x42f136
cmp ecx, 0x64
ja case.default.0x42ee30
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 + 0x64]
add esp, 0x190
jmp 0x42f136
push 0x14
pop eax
cmp eax, ecx
sbb al, al
inc al
cmp ecx, 0x14
mov byte [ebp + 0x4b], al
ja case.default.0x42ee30
jmp dword [ecx*4 + 0x42f40a]
call dword [ebp + 0x64]
jmp 0x42f136
push dword [ebx]
call dword [ebp + 0x64]
jmp 0x42f136
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x64]
jmp 0x42f136
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x64]
jmp 0x42f136
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x64]
jmp 0x42f136
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x64]
jmp 0x42f136
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 + 0x64]
jmp 0x42f136
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 + 0x64]
jmp 0x42f136
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 + 0x64]
jmp 0x42f136
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 + 0x64]
jmp 0x42f136
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 + 0x64]
jmp 0x42f136
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 + 0x64]
jmp 0x42f136
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 + 0x64]
jmp 0x42f136
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 + 0x64]
jmp 0x42f136
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 + 0x64]
jmp 0x42f136
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 + 0x64]
jmp 0x42f136
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 + 0x64]
jmp 0x42f136
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 + 0x64]
jmp 0x42f136
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 + 0x64]
jmp 0x42f136
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 + 0x64]
jmp 0x42f136
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 + 0x64]
mov dword [ebp + 0x60], eax
cmp byte [ebp + 0x7f], 0
mov eax, dword [ebp + 0x60]
mov dword [ebp - 0x18], eax
je 0x42f15c
cmp dword [ebp - 0x3c], 0
je 0x42f15c
push dword [ebp - 0x3c]
push dword [ebp - 0x80]
push dword [ebp + 0x70]
call fcn.004470b2
add esp, 0xc
cmp byte [ebp + 0x48], 0
je 0x42f17c
cmp byte [ebp + 0x48], 2
jne 0x42f173
push dword [ebp + 0x60]
call fcn.00438d90
pop ecx
jmp 0x42f179
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov dword [ebp - 0x18], eax
cmp byte [ebp + 0x5f], 0
jle 0x42f197
cmp byte [ebp + 0x57], 0
jg 0x42f197
cmp dword [ebp + 0x40], 0
je 0x42f197
push dword [ebp + 0x40]
call dword [sym.imp.KERNEL32.DLL_FreeLibrary]
cmp byte [ebp + 0x52], 0
je 0x42f1b9
call dword [0x4db4ac]
mov al, byte [ebp + 0x52]
mov ecx, dword [ebp + 0x70]
not al
and byte [ecx + 0xe], al
push 0x4dbd30
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
cmp byte [ebp + 0x49], 0
jg 0x42f1c8
push dword [ebp - 0x54]
call fcn.00411f46
pop ecx
mov eax, dword [ebp - 0x28]
or eax, dword [ebp - 0x24]
je 0x42f1d6
cmp byte [ebp + 0x49], 0
jg 0x42f1db
call fcn.00414d7f
cmp byte [ebp + 0x47], 0
jne 0x42e0b3
mov eax, dword [ebp + 0x1c]
mov ax, word [eax]
xor edi, edi
cmp ax, di
je 0x42f245
cmp ax, 0x2a
je 0x42f245
cmp byte [ebp + 0x4b], 0
je 0x42f245
cmp byte [ebp + 0x27], 0
mov eax, str.0x_X
jne 0x42f20e
mov eax, 0x4c5248
cmp byte [ebp + 0x56], 0
je 0x42f226
cmp byte [ebp + 0x54], 0
je 0x42f226
cmp dword [ebp + 0x60], edi
jne 0x42f228
mov eax, 0x4bfa2c
jmp 0x42f228
inc eax
inc eax
push dword [ebp + 0x60]
push eax
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.user32.dll_wsprintfW]
add esp, 0xc
cmp byte [ebp + 0x48], 0
jne 0x42f245
mov dword [ebp - 0x18], edi
mov ecx, dword [ebp - 0x38]
cmp ecx, edi
je 0x42f251
call fcn.004104b3
mov eax, dword [ebp + 0x1c]
cmp word [eax], di
je 0x42f2e2
cmp word [eax], 0x2a
je 0x42f2e2
cmp dword [ebp - 0x50], edi
je 0x42f27e
cmp dword [ebp + 0x60], edi
je 0x42f27e
push eax
push dword [ebp + 0x60]
push dword [ebp + 0x70]
call fcn.0042c371
add esp, 0xc
jmp 0x42f28e
lea ecx, [ebp - 0x11c]
push ecx
mov ecx, dword [ebp + 0x70]
push eax
call fcn.0044414b
cmp byte [ebp + 0x32], 0
je 0x42f2e2
push dword [ebp + 0x1c]
lea ecx, [ebp + 0x78]
call fcn.0044df7a
push str..args
lea ecx, [ebp + 0x1c]
call fcn.00444a7c
push str..addr
lea ecx, [ebp + 0x78]
call fcn.00444a7c
push dword [ebp + 0x1c]
movsx eax, byte [ebp + 0x3a]
push eax
push dword [ebp + 0x70]
call fcn.004470b2
push dword [ebp + 0x78]
push dword [ebp + 0x64]
push dword [ebp + 0x70]
call fcn.0041046b
add esp, 0x18
lea ecx, [ebp + 0x78]
call fcn.0043e48d
mov esi, dword [ebp - 0x14]
cmp esi, edi
jge 0x42f301
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + esi*4]
cmp eax, edi
je 0x42f2fe
lea ecx, [ebp + 0x70]
mov dword [ebp + 0x70], eax
call fcn.0043e48d
inc esi
js 0x42f2e9
mov esi, dword [ebp - 0x18]
lea ecx, [ebp - 0x54]
call fcn.0043e48d
lea ecx, [ebp - 0x5c]
call fcn.0043e48d
lea ecx, [ebp - 0x94]
call fcn.004570d8
lea ecx, [ebp - 0x94]
call fcn.0043e48d
lea ecx, [ebp - 0x4c]
call fcn.0043e48d
lea ecx, [ebp - 0x3c]
call fcn.0043e48d
lea ecx, [ebp - 0x88]
call fcn.0043e48d
lea ecx, [ebp + 0x1c]
call fcn.0043e48d
lea ecx, [ebp - 0x60]
call fcn.0043e48d
mov eax, esi
jmp 0x42f3bb
lea ecx, [ebp - 0x54]
call fcn.0043e48d
lea ecx, [ebp - 0x5c]
call fcn.0043e48d
lea ecx, [ebp - 0x94]
call fcn.004570d8
lea ecx, [ebp - 0x94]
call fcn.0043e48d
lea ecx, [ebp - 0x4c]
call fcn.0043e48d
lea ecx, [ebp - 0x3c]
call fcn.0043e48d
lea ecx, [ebp - 0x88]
call fcn.0043e48d
lea ecx, [ebp + 0x1c]
call fcn.0043e48d
lea ecx, [ebp - 0x60]
call fcn.0043e48d
mov al, byte [ebp + 0x33]
neg al
sbb eax, eax
and eax, 0x7ff8ffa9
add eax, 0x80070057
pop edi
pop esi
pop ebx
add ebp, 0x68
leave
ret 0x10