Function at 0x42f000
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x55f088
push 0x51bf78
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xac
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
mov edi, ecx
xor esi, esi
push 0x96
push esi
lea eax, [ebp - 0xbc]
push eax
call fcn.004d7120
add esp, 0xc
mov dword [ebp - 4], esi
mov edx, edi
lea ecx, [ebp - 0xbc]
call fcn.004c6880
mov edx, eax
mov dword [ebp - 0x24], edx
xor ecx, ecx
mov dword [ebp - 0x20], ecx
cmp ecx, 0x15aa
jge 0x430224
lea edi, [ecx + ecx*2]
mov ebx, dword [edi*4 + 0x589da0]
mov eax, dword [edx]
cmp eax, dword [ebx]
jne 0x430203
mov eax, dword [edx + 4]
cmp eax, dword [ebx + 4]
jne 0x430203
lea ecx, [ebx + 8]
lea eax, [ebp - 0xb4]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42f0b1
test dl, dl
je 0x42f0ad
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42f0b1
add eax, 2
add ecx, 2
test dl, dl
jne 0x42f091
xor eax, eax
jmp 0x42f0b6
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4301fd
mov esi, dword [edi*4 + 0x589da8]
cmp esi, 1
jne 0x42f0ec
mov eax, dword [edi*4 + 0x589da4]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 3
jne 0x42f4fe
mov ecx, str.SYSTEMFUNCTION036
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42f120
test dl, dl
je 0x42f11c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42f120
add eax, 2
add ecx, 2
test dl, dl
jne 0x42f100
xor eax, eax
jmp 0x42f125
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f186
mov esi, 0x42efe0
mov dword [ebp - 0x1c], esi
push 0x96
push eax
push 0x5c5f48
call fcn.004d7120
push str.advapi32.dll
push 0x96
push 0x5c5f48
call fcn.004d97bd
add esp, 0x18
push 0x5c5f48
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
jne 0x42f17a
push 0x5c5f48
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
je 0x430224
mov esi, dword [edi*4 + 0x589da4]
jmp 0x430221
mov ecx, str.REGISTERSERVICEPROCESS
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42f1b0
test dl, dl
je 0x42f1ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42f1b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x42f190
xor eax, eax
jmp 0x42f1b5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f1dd
mov dword [ebp - 0x1c], 0x12abcdef
mov dword [ebp - 4], 0xffffffff
mov eax, 0x12abcdef
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, str._ADJUST_FDIV
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42f204
test dl, dl
je 0x42f200
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42f204
add eax, 2
add ecx, 2
test dl, dl
jne 0x42f1e4
xor eax, eax
jmp 0x42f209
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f22a
mov dword [ebp - 4], 0xffffffff
mov eax, 0x5b0898
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, str.__INITENV
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42f251
test dl, dl
je 0x42f24d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42f251
add eax, 2
add ecx, 2
test dl, dl
jne 0x42f231
xor eax, eax
jmp 0x42f256
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f277
mov dword [ebp - 4], 0xffffffff
mov eax, 0x5b0928
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, str._FMODE
mov eax, ebx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42f2a0
test dl, dl
je 0x42f29c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42f2a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x42f280
xor eax, eax
jmp 0x42f2a5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f2c6
mov dword [ebp - 4], 0xffffffff
mov eax, 0x59dc64
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, str._FMODE_DLL
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42f2f0
test dl, dl
je 0x42f2ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42f2f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x42f2d0
xor eax, eax
jmp 0x42f2f5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f316
mov dword [ebp - 4], 0xffffffff
mov eax, 0x5b08b4
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, str._COMMODE
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42f340
test dl, dl
je 0x42f33c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42f340
add eax, 2
add ecx, 2
test dl, dl
jne 0x42f320
xor eax, eax
jmp 0x42f345
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f366
mov dword [ebp - 4], 0xffffffff
mov eax, 0x5b09c8
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, str._COMMODE_DLL
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42f390
test dl, dl
je 0x42f38c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42f390
add eax, 2
add ecx, 2
test dl, dl
jne 0x42f370
xor eax, eax
jmp 0x42f395
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f3b6
mov dword [ebp - 4], 0xffffffff
mov eax, 0x5b08cc
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, str.__2_YAPAXI_Z
mov eax, ebx
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42f3e0
test dl, dl
je 0x42f3dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42f3e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x42f3c0
xor eax, eax
jmp 0x42f3e5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f443
push str.msvcrt
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
jne 0x42f415
mov eax, 0x42efe0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.__2_YAPAXI_Z
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, 0x42efe0
test eax, eax
cmove eax, ecx
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, str._WCMDLN
mov eax, ebx
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42f470
test dl, dl
je 0x42f46c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42f470
add eax, 2
add ecx, 2
test dl, dl
jne 0x42f450
xor eax, eax
jmp 0x42f475
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f4a0
mov eax, dword [0x5affe4]
mov dword [0x5b0a28], eax
mov dword [ebp - 4], 0xffffffff
mov eax, 0x5b0a28
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, str._ACMDLN
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42f4c7
test dl, dl
je 0x42f4c3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42f4c7
add eax, 2
add ecx, 2
test dl, dl
jne 0x42f4a7
xor eax, eax
jmp 0x42f4cc
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f4f7
mov eax, dword [0x5affe0]
mov dword [0x5b08a8], eax
mov dword [ebp - 4], 0xffffffff
mov eax, 0x5b08a8
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x1c], 0x42efe0
cmp esi, 2
jne 0x4301f5
mov esi, dword [edi*4 + 0x589da4]
mov ecx, str.RTLGETNTVERSIONNUMBERS
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42f535
test dl, dl
je 0x42f531
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42f535
add eax, 2
add ecx, 2
test dl, dl
jne 0x42f515
xor eax, eax
jmp 0x42f53a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f581
push str.ntdll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.RtlGetNtVersionNumbers
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, 0x42efe0
test eax, eax
cmove eax, ecx
mov dword [0x5b0a30], eax
mov dword [ebp - 4], 0xffffffff
mov eax, 0x48c090
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, str.__LCONV_INIT
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42f5a8
test dl, dl
je 0x42f5a4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42f5a8
add eax, 2
add ecx, 2
test dl, dl
jne 0x42f588
xor eax, eax
jmp 0x42f5ad
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f5dc
push str.msvcrt
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.__lconv_init
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5b08c8], eax
mov ecx, 0x42efe0
test eax, eax
cmove esi, ecx
jmp 0x430224
mov ecx, str.__p__environ
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42f603
test dl, dl
je 0x42f5ff
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42f603
add eax, 2
add ecx, 2
test dl, dl
jne 0x42f5e3
xor eax, eax
jmp 0x42f608
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f637
push str.msvcrt
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.__p__environ
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5b08b8], eax
mov ecx, 0x42efe0
test eax, eax
cmove esi, ecx
jmp 0x430224
mov ecx, str._INITTERM
mov eax, ebx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42f660
test dl, dl
je 0x42f65c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42f660
add eax, 2
add ecx, 2
test dl, dl
jne 0x42f640
xor eax, eax
jmp 0x42f665
sbb eax, eax
or eax, 1
test eax, eax
je 0x4301cd
mov ecx, str._INITTERM_E
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42f694
test dl, dl
je 0x42f690
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42f694
add eax, 2
add ecx, 2
test dl, dl
jne 0x42f674
xor eax, eax
jmp 0x42f699
sbb eax, eax
or eax, 1
test eax, eax
je 0x4301cd
mov ecx, str.__SET_APP_TYPE
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42f6c8
test dl, dl
je 0x42f6c4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42f6c8
add eax, 2
add ecx, 2
test dl, dl
jne 0x42f6a8
xor eax, eax
jmp 0x42f6cd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f6fc
push str.msvcrt
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.__set_app_type
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5b08c4], eax
mov ecx, 0x42efe0
test eax, eax
cmove esi, ecx
jmp 0x430224
mov ecx, str.__WGETMAINARGS
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42f723
test dl, dl
je 0x42f71f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42f723
add eax, 2
add ecx, 2
test dl, dl
jne 0x42f703
xor eax, eax
jmp 0x42f728
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f757
push str.msvcrt
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.__wgetmainargs
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5b08b0], eax
mov ecx, 0x42efe0
test eax, eax
cmove esi, ecx
jmp 0x430224
mov ecx, str.__GETMAINARGS
mov eax, ebx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42f780
test dl, dl
je 0x42f77c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42f780
add eax, 2
add ecx, 2
test dl, dl
jne 0x42f760
xor eax, eax
jmp 0x42f785
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f7b4
push str.msvcrt
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.__getmainargs
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5b08c0], eax
mov ecx, 0x42efe0
test eax, eax
cmove esi, ecx
jmp 0x430224
mov ecx, str._ONEXIT
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42f7e0
test dl, dl
je 0x42f7dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42f7e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x42f7c0
xor eax, eax
jmp 0x42f7e5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f814
push str.msvcrt
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str._onexit
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [fcn.004d4093], eax
mov ecx, 0x42efe0
test eax, eax
cmove esi, ecx
jmp 0x430224
mov ecx, str._EXIT
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42f840
test dl, dl
je 0x42f83c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42f840
add eax, 2
add ecx, 2
test dl, dl
jne 0x42f820
xor eax, eax
jmp 0x42f845
sbb eax, eax
or eax, 1
test eax, eax
je 0x4301a5
mov ecx, str.EXIT
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42f874
test dl, dl
je 0x42f870
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42f874
add eax, 2
add ecx, 2
test dl, dl
jne 0x42f854
xor eax, eax
jmp 0x42f879
sbb eax, eax
or eax, 1
test eax, eax
je 0x4301a5
mov ecx, str.__SETUSERMATHERR
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42f8a8
test dl, dl
je 0x42f8a4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42f8a8
add eax, 2
add ecx, 2
test dl, dl
jne 0x42f888
xor eax, eax
jmp 0x42f8ad
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f8dc
push str.msvcrt
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.__setusermatherr
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5b089c], eax
mov ecx, 0x42efe0
test eax, eax
cmove esi, ecx
jmp 0x430224
mov ecx, str.ATOI
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42f903
test dl, dl
je 0x42f8ff
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42f903
add eax, 2
add ecx, 2
test dl, dl
jne 0x42f8e3
xor eax, eax
jmp 0x42f908
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f937
push str.msvcrt
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.atoi
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [fcn.004ea94b], eax
mov ecx, 0x42efe0
test eax, eax
cmove esi, ecx
jmp 0x430224
mov ecx, str.SRAND
mov eax, ebx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42f960
test dl, dl
je 0x42f95c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42f960
add eax, 2
add ecx, 2
test dl, dl
jne 0x42f940
xor eax, eax
jmp 0x42f965
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f994
push str.msvcrt
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.srand
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [fcn.004d9530], eax
mov ecx, 0x42efe0
test eax, eax
cmove esi, ecx
jmp 0x430224
mov ecx, str.RAND
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42f9c0
test dl, dl
je 0x42f9bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42f9c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x42f9a0
xor eax, eax
jmp 0x42f9c5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42f9f4
push str.msvcrt
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.rand
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [fcn.004d950f], eax
mov ecx, 0x42efe0
test eax, eax
cmove esi, ecx
jmp 0x430224
mov ecx, str._LOCK
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42fa20
test dl, dl
je 0x42fa1c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42fa20
add eax, 2
add ecx, 2
test dl, dl
jne 0x42fa00
xor eax, eax
jmp 0x42fa25
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42fa54
push str.msvcrt
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str._lock
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5b08a0], eax
mov ecx, 0x42efe0
test eax, eax
cmove esi, ecx
jmp 0x430224
mov ecx, str._UNLOCK
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42fa80
test dl, dl
je 0x42fa7c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42fa80
add eax, 2
add ecx, 2
test dl, dl
jne 0x42fa60
xor eax, eax
jmp 0x42fa85
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42fab4
push str.msvcrt
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str._unlock
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5b0a2c], eax
mov ecx, 0x42efe0
test eax, eax
cmove esi, ecx
jmp 0x430224
mov ecx, str._ENDTHREADEX
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42fae0
test dl, dl
je 0x42fadc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42fae0
add eax, 2
add ecx, 2
test dl, dl
jne 0x42fac0
xor eax, eax
jmp 0x42fae5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42fb14
push str.msvcrt
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str._endthreadex
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5b08a4], eax
mov ecx, 0x42efe0
test eax, eax
cmove esi, ecx
jmp 0x430224
mov ecx, str._BEGINTHREADEX
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42fb40
test dl, dl
je 0x42fb3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42fb40
add eax, 2
add ecx, 2
test dl, dl
jne 0x42fb20
xor eax, eax
jmp 0x42fb45
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42fb74
push str.msvcrt
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str._beginthreadex
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5b088c], eax
mov ecx, 0x42efe0
test eax, eax
cmove esi, ecx
jmp 0x430224
mov ecx, str._AMSG_EXIT
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42fba0
test dl, dl
je 0x42fb9c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42fba0
add eax, 2
add ecx, 2
test dl, dl
jne 0x42fb80
xor eax, eax
jmp 0x42fba5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42fbd4
push str.msvcrt
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str._amsg_exit
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5b0890], eax
mov ecx, 0x42efe0
test eax, eax
cmove esi, ecx
jmp 0x430224
mov ecx, str.__P__ACMDLN
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42fc00
test dl, dl
je 0x42fbfc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42fc00
add eax, 2
add ecx, 2
test dl, dl
jne 0x42fbe0
xor eax, eax
jmp 0x42fc05
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42fc34
push str.msvcrt
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.__p__acmdln
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5b08ac], eax
mov ecx, 0x42efe0
test eax, eax
cmove esi, ecx
jmp 0x430224
mov ecx, str._CXXTHROWEXCEPTION
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42fc60
test dl, dl
je 0x42fc5c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42fc60
add eax, 2
add ecx, 2
test dl, dl
jne 0x42fc40
xor eax, eax
jmp 0x42fc65
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42fc94
push str.msvcrt
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str._CxxThrowException
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5b0894], eax
mov ecx, 0x42efe0
test eax, eax
cmove esi, ecx
jmp 0x430224
mov ecx, str.__CXXFRAMEHANDLER
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42fcc0
test dl, dl
je 0x42fcbc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42fcc0
add eax, 2
add ecx, 2
test dl, dl
jne 0x42fca0
xor eax, eax
jmp 0x42fcc5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42fcf4
push str.msvcrt
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.__CxxFrameHandler
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5b07d0], eax
mov ecx, 0x42efe0
test eax, eax
cmove esi, ecx
jmp 0x430224
mov ecx, str.__STDIO_COMMON_VSPRINTF
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42fd20
test dl, dl
je 0x42fd1c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42fd20
add eax, 2
add ecx, 2
test dl, dl
jne 0x42fd00
xor eax, eax
jmp 0x42fd25
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42fd54
push str.msvcrt
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.__stdio_common_vsprintf
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5b08bc], eax
mov ecx, 0x42efe0
test eax, eax
cmove esi, ecx
jmp 0x430224
mov ecx, str.ADDLOCALALTERNATECOMPUTERNAMEA
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42fd80
test dl, dl
je 0x42fd7c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42fd80
add eax, 2
add ecx, 2
test dl, dl
jne 0x42fd60
xor eax, eax
jmp 0x42fd85
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42fdb4
push str.kernel32
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.AddLocalAlternateComputerNameA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5aa248], eax
mov ecx, 0x42efe0
test eax, eax
cmove esi, ecx
jmp 0x430224
mov ecx, str.ADDLOCALALTERNATECOMPUTERNAMEW
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42fde0
test dl, dl
je 0x42fddc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42fde0
add eax, 2
add ecx, 2
test dl, dl
jne 0x42fdc0
xor eax, eax
jmp 0x42fde5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42fe14
push str.kernel32
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.AddLocalAlternateComputerNameW
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5aa4a0], eax
mov ecx, 0x42efe0
test eax, eax
cmove esi, ecx
jmp 0x430224
mov ecx, str.ADJUSTCALENDARDATE
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42fe40
test dl, dl
je 0x42fe3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42fe40
add eax, 2
add ecx, 2
test dl, dl
jne 0x42fe20
xor eax, eax
jmp 0x42fe45
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42fe74
push str.kernel32
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.AdjustCalendarDate
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5aa4a4], eax
mov ecx, 0x42efe0
test eax, eax
cmove esi, ecx
jmp 0x430224
mov ecx, str.CHECKELEVATIONENABLED
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42fea0
test dl, dl
je 0x42fe9c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42fea0
add eax, 2
add ecx, 2
test dl, dl
jne 0x42fe80
xor eax, eax
jmp 0x42fea5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42fed4
push str.kernel32
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.CheckElevationEnabled
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5aa074], eax
mov ecx, 0x42efe0
test eax, eax
cmove esi, ecx
jmp 0x430224
mov ecx, str.CONVERTCALDATETIMETOSYSTEMTIME
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42ff00
test dl, dl
je 0x42fefc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42ff00
add eax, 2
add ecx, 2
test dl, dl
jne 0x42fee0
xor eax, eax
jmp 0x42ff05
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42ff34
push str.kernel32
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.ConvertCalDateTimeToSystemTime
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5aa24c], eax
mov ecx, 0x42efe0
test eax, eax
cmove esi, ecx
jmp 0x430224
mov ecx, str.CONVERTSYSTEMTIMETOCALDATETIME
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42ff60
test dl, dl
je 0x42ff5c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42ff60
add eax, 2
add ecx, 2
test dl, dl
jne 0x42ff40
xor eax, eax
jmp 0x42ff65
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42ff94
push str.kernel32
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.ConvertSystemTimeToCalDateTime
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5aa244], eax
mov ecx, 0x42efe0
test eax, eax
cmove esi, ecx
jmp 0x430224
mov ecx, str.UPDATECALENDARDAYOFWEEK
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42ffc0
test dl, dl
je 0x42ffbc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42ffc0
add eax, 2
add ecx, 2
test dl, dl
jne 0x42ffa0
xor eax, eax
jmp 0x42ffc5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42fff4
push str.kernel32
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.UpdateCalendarDayOfWeek
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5aa250], eax
mov ecx, 0x42efe0
test eax, eax
cmove esi, ecx
jmp 0x430224
mov ecx, str.GETFILEVERSIONINFOSIZEA
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x430020
test dl, dl
je 0x43001c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x430020
add eax, 2
add ecx, 2
test dl, dl
jne 0x430000
xor eax, eax
jmp 0x430025
sbb eax, eax
or eax, 1
test eax, eax
jne 0x430054
push 0x554690
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.GetFileVersionInfoSizeA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5c0f44], eax
mov ecx, 0x42efe0
test eax, eax
cmove esi, ecx
jmp 0x430224
mov ecx, str.GETFILEVERSIONINFOA
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x430080
test dl, dl
je 0x43007c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x430080
add eax, 2
add ecx, 2
test dl, dl
jne 0x430060
xor eax, eax
jmp 0x430085
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4300b4
push 0x554690
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.GetFileVersionInfoA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5c0f40], eax
mov ecx, 0x42efe0
test eax, eax
cmove esi, ecx
jmp 0x430224
mov ecx, str.VERQUERYVALUEA
mov eax, ebx
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4300e0
test dl, dl
je 0x4300dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4300e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4300c0
xor eax, eax
jmp 0x4300e5
sbb eax, eax
or eax, 1
test eax, eax
je 0x43017a
mov ecx, str.VERQUERYVALUE
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x430114
test dl, dl
je 0x430110
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x430114
add eax, 2
add ecx, 2
test dl, dl
jne 0x4300f4
xor eax, eax
jmp 0x430119
sbb eax, eax
or eax, 1
test eax, eax
je 0x43017a
mov eax, str.VERQUERYVALUEW
mov cl, byte [ebx]
cmp cl, byte [eax]
jne 0x430142
test cl, cl
je 0x43013e
mov cl, byte [ebx + 1]
cmp cl, byte [eax + 1]
jne 0x430142
add ebx, 2
add eax, 2
test cl, cl
jne 0x430122
xor eax, eax
jmp 0x430147
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4301f5
push 0x554690
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.VerQueryValueW
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5c0f3c], eax
test eax, eax
mov ecx, 0x42efe0
cmove esi, ecx
jmp 0x430224
push 0x554690
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.VerQueryValueA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5c0f20], eax
mov ecx, 0x42efe0
test eax, eax
cmove esi, ecx
jmp 0x430224
push str.msvcrt
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str._exit
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [fcn.004e55e4], eax
mov ecx, 0x42efe0
test eax, eax
cmove esi, ecx
jmp 0x430224
push str.msvcrt
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str._initterm
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x5b08d0], eax
test eax, eax
mov ecx, 0x42efe0
cmove esi, ecx
jmp 0x430224
mov esi, 0x42efe0
mov dword [ebp - 0x1c], esi
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
inc ecx
jmp 0x42f059
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 0xffffffff
mov eax, esi
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret