Function at 0x42eb70
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x23
push 0
push 0
dec ecx
jne 0x42eb78
push ecx
push ebx
push esi
push edi
mov byte [ebp - 0x81], al
lea eax, [ebp - 0x40]
mov edx, dword [0x41585c]
call fcn.004060d0
lea eax, [ebp - 0x80]
mov edx, dword [0x41585c]
call fcn.004060d0
lea esi, [ebp - 0xb8]
xor eax, eax
push ebp
push 0x42f146
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x55a408], 0
jne 0x42ec2e
push 0x42f154
call sub.kernel32.dll_GetModuleHandleA_2
mov ebx, eax
test ebx, ebx
jne 0x42ebde
push 0x42f164
call sub.kernel32.dll_GetModuleHandleA_2
mov ebx, eax
push 0x42f170
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x55a408], eax
push 0x42f188
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x55a40c], eax
push 0x42f1b4
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x55a414], eax
push 0x42f1bc
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x55a418], eax
push 0x42f1c4
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x55a420], eax
cmp dword [0x55a408], 0
je 0x42f114
cmp dword [0x55a40c], 0
je 0x42f114
cmp dword [0x55a414], 0
je 0x42f114
cmp dword [0x55a418], 0
je 0x42f114
cmp dword [0x55a420], 0
jne 0x42ec78
cmp dword [0x55a41c], 0
je 0x42f114
mov eax, dword [0x567870]
mov edx, dword [0x55a410]
mov dword [eax], edx
mov edx, esi
mov eax, dword [0x55a408]
call fcn.004196cc
xor ebx, ebx
jmp 0x42ece8
test ebx, ebx
je 0x42ecbc
cmp word [esi + 2], 0x8b
jne 0x42ecbc
cmp byte [esi + 4], 0x80
jne 0x42ecbc
mov eax, dword [esi + 0x1c]
add eax, 2
mov eax, dword [eax]
mov dword [0x55a4ac], eax
mov dword [0x55a4b0], ebx
jmp 0x42ecf7
cmp byte [esi + 5], 0
je 0x42ecc7
mov ebx, dword [esi + 8]
jmp 0x42ecc9
xor ebx, ebx
lea edx, [ebp - 0xdc]
mov eax, dword [esi + 0x20]
call fcn.004196cc
push esi
mov edi, esi
lea esi, [ebp - 0xdc]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
pop esi
movzx eax, word [esi + 2]
add eax, 0xffffff3e
sub ax, 2
jae 0x42ec95
cmp dword [0x55a4b0], 0
je 0x42efc3
lea edx, [ebp - 0x40]
mov eax, dword [0x55a40c]
call fcn.0041a988
mov eax, dword [ebp - 0x20]
call fcn.00406a44
dec eax
jne 0x42efc3
lea edx, [ebp - 0x11c]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0xc]
call fcn.0041a988
lea edx, [ebp - 0x11c]
lea eax, [ebp - 0x40]
mov ecx, dword [0x41585c]
call fcn.00406404
mov ebx, sub.kernel32.dll_RaiseException_1
cmp word [ebx], 0x25ff
jne 0x42ed58
add ebx, 2
mov eax, dword [ebx]
mov ebx, dword [eax]
xor eax, eax
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x20]
call fcn.00406a4c
test eax, eax
jl 0x42ee94
inc eax
mov dword [ebp - 0x90], eax
xor edi, edi
mov eax, edi
add eax, eax
add eax, eax
add eax, eax
sub eax, edi
mov edx, dword [ebp - 0x20]
cmp ebx, dword [edx + eax*4 + 0xc]
jne 0x42edf5
mov eax, edi
add eax, eax
add eax, eax
add eax, eax
sub eax, edi
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + eax*4 + 4]
sub eax, 4
cmp dword [eax], 0xeefface
jne 0x42ee87
mov eax, edi
add eax, eax
add eax, eax
add eax, eax
sub eax, edi
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + eax*4 + 4]
mov edx, esi
call fcn.004196cc
cmp dword [esi + 0x14], 4
jne 0x42ee87
cmp byte [esi + 7], 0
je 0x42ee87
mov eax, dword [esi + 8]
mov dword [0x56b99c], eax
mov edx, 0x42e9b0
sub edx, dword [esi + 0x20]
mov eax, dword [esi + 0xc]
call fcn.00449acc
jmp 0x42ee87
mov eax, edi
add eax, eax
add eax, eax
add eax, eax
sub eax, edi
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + eax*4 + 0xc]
mov edx, esi
call fcn.004196cc
jmp 0x42ee78
mov eax, dword [esi + 8]
cmp eax, dword [0x55a414]
jne 0x42ee57
mov eax, edi
add eax, eax
add eax, eax
add eax, eax
sub eax, edi
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + eax*4 + 0xc]
mov dword [ebp - 0x88], eax
cmp dword [esi + 0x14], 4
jne 0x42ee87
cmp byte [esi + 7], 0
je 0x42ee87
mov eax, dword [esi + 8]
mov dword [0x56b994], eax
mov edx, 0x42e848
sub edx, dword [esi + 0x20]
mov eax, dword [esi + 0xc]
call fcn.00449acc
jmp 0x42ee87
lea edx, [ebp - 0xdc]
mov eax, dword [esi + 0x20]
call fcn.004196cc
push esi
push edi
mov edi, esi
lea esi, [ebp - 0xdc]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
movzx eax, word [esi + 2]
add eax, 0xffffff3e
sub ax, 2
jae 0x42ee0f
inc edi
dec dword [ebp - 0x90]
jne 0x42ed79
cmp dword [ebp - 0x88], 0
je 0x42efc3
lea edx, [ebp - 0x40]
mov eax, dword [0x55a408]
call fcn.0041a988
mov eax, dword [ebp - 0x20]
call fcn.00406a4c
test eax, eax
jl 0x42efc3
inc eax
mov dword [ebp - 0x90], eax
xor edi, edi
mov eax, edi
add eax, eax
add eax, eax
add eax, eax
sub eax, edi
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + eax*4 + 0xc]
lea edx, [ebp - 0x80]
call fcn.0041a988
xor ebx, ebx
mov byte [ebp - 0x89], 0
mov eax, dword [ebp - 0x60]
call fcn.00406a4c
test eax, eax
jl 0x42ef53
inc eax
mov dword [ebp - 0x94], eax
xor eax, eax
mov edx, eax
add edx, edx
add edx, edx
add edx, edx
sub edx, eax
mov ecx, dword [ebp - 0x60]
mov edx, dword [ecx + edx*4 + 0xc]
cmp edx, dword [ebp - 0x88]
jne 0x42ef2a
mov edx, edi
add edx, edx
add edx, edx
add edx, edx
sub edx, edi
mov ecx, dword [ebp - 0x20]
mov ebx, dword [ecx + edx*4 + 0xc]
jmp 0x42ef4a
mov edx, eax
add edx, edx
add edx, edx
add edx, edx
sub edx, eax
mov ecx, dword [ebp - 0x60]
mov edx, dword [ecx + edx*4 + 0xc]
cmp edx, dword [0x55a418]
jne 0x42ef4a
mov byte [ebp - 0x89], 1
inc eax
dec dword [ebp - 0x94]
jne 0x42eefe
test ebx, ebx
je 0x42efb6
mov eax, edi
add eax, eax
add eax, eax
add eax, eax
sub eax, edi
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + eax*4 + 4]
mov edx, esi
call fcn.004196cc
cmp dword [esi + 0x14], 4
jne 0x42efb6
cmp byte [esi + 7], 0
je 0x42efb6
cmp byte [ebp - 0x89], 0
je 0x42ef9e
mov eax, dword [esi + 8]
mov dword [0x56b998], eax
mov edx, 0x42e930
sub edx, dword [esi + 0x20]
mov eax, dword [esi + 0xc]
call fcn.00449acc
jmp 0x42efb6
mov eax, dword [esi + 8]
mov dword [0x56b9a0], eax
mov edx, 0x42ea38
sub edx, dword [esi + 0x20]
mov eax, dword [esi + 0xc]
call fcn.00449acc
inc edi
dec dword [ebp - 0x90]
jne 0x42eec7
cmp byte [ebp - 0x81], 0
je 0x42f0ef
call fcn.0042eb5c
mov edx, esi
call fcn.004196cc
jmp 0x42effd
lea edx, [ebp - 0xdc]
mov eax, dword [esi + 0x20]
call fcn.004196cc
push esi
mov edi, esi
lea esi, [ebp - 0xdc]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
pop esi
cmp byte [esi], 0
je 0x42f033
movzx eax, word [esi + 2]
add eax, 0xffffff3e
sub ax, 2
jb 0x42f033
cmp word [esi + 2], 0x89
jne 0x42efde
mov eax, dword [esi + 0x1c]
inc eax
cmp dword [eax], 0x24448bc2
jne 0x42efde
mov eax, dword [esi + 0x1c]
add eax, 5
cmp dword [eax], 0xc488b04
jne 0x42efde
cmp byte [esi], 0
je 0x42f0ef
movzx eax, word [esi + 2]
add eax, 0xffffff3e
sub ax, 2
jb 0x42f0ef
mov ebx, dword [esi + 0x1c]
lea edx, [ebp - 0xdc]
mov eax, dword [esi + 0x20]
call fcn.004196cc
push esi
mov edi, esi
lea esi, [ebp - 0xdc]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
pop esi
jmp 0x42f092
lea edx, [ebp - 0xdc]
mov eax, dword [esi + 0x20]
call fcn.004196cc
push esi
mov edi, esi
lea esi, [ebp - 0xdc]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
pop esi
cmp byte [esi], 0
je 0x42f0c8
movzx eax, word [esi + 2]
add eax, 0xffffff3e
sub ax, 2
jb 0x42f0c8
cmp word [esi + 2], 0x89
jne 0x42f073
mov eax, dword [esi + 0x1c]
inc eax
cmp dword [eax], 0x24448bc2
jne 0x42f073
mov eax, dword [esi + 0x1c]
add eax, 5
cmp dword [eax], 0xc488b04
jne 0x42f073
cmp byte [esi], 0
je 0x42f0df
movzx eax, word [esi + 2]
add eax, 0xffffff3e
sub ax, 2
jb 0x42f0df
mov ebx, dword [esi + 0x1c]
test ebx, ebx
je 0x42f0ef
mov edx, 0x42ead8
mov eax, ebx
call fcn.00449aac
cmp dword [0x55a420], 0
je 0x42f105
mov eax, dword [0x55a420]
mov dword [eax], 0x42eafc
jmp 0x42f114
mov edx, 0x42eafc
mov eax, dword [0x55a41c]
call fcn.00449a7c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x42f14d
lea eax, [ebp - 0x11c]
mov edx, dword [0x41585c]
call fcn.004061a0
lea eax, [ebp - 0x80]
mov edx, dword [0x41585c]
mov ecx, 2
call fcn.004061ec
ret