Function at 0x42778b
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xb8
push dword [esp + 0xcc]
call fcn.0044340c
add esp, 4
mov dword [esp + 0x78], eax
mov dword [esp], 0x249a4dc3
mov eax, 0x249a4dc3
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x1c], ecx
mov ebx, dword [esp + 0x64]
mov edi, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x28], ecx
cmp eax, 0x49ba1c7
jg 0x42783f
cmp eax, 0xc39adbdf
jg 0x4278d5
cmp eax, 0xa8fefa95
jg 0x427970
cmp eax, 0x936ad88e
jg 0x427b66
cmp eax, 0x82033593
je 0x427e26
cmp eax, 0x82691b50
je 0x427e58
cmp eax, 0x87dfe1a9
jne 0x4277ec
mov dword [esp], 0xb481fb18
mov eax, 0xb481fb18
jmp 0x4277ec
cmp eax, 0x4160f3bf
jg 0x427928
cmp eax, 0x249a4dc2
jg 0x427a09
cmp eax, 0x17f3ab86
jg 0x427bad
cmp eax, 0x49ba1c8
je 0x427e7e
cmp eax, 0xd9a6739
je 0x427e92
cmp eax, 0xdbdaa5b
jne 0x4277ec
push 0x4582de
push dword [esp + 0x80]
call fcn.0043b4cc
add esp, 8
mov dword [esp + 0x40], eax
cmp dword [esp + 0x40], 0
sete byte [esp + 0xa]
mov eax, dword [0x45cadc]
mov dword [esp + 0x44], eax
mov eax, dword [0x45cae0]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x44]
dec eax
mov dword [esp + 0x84], eax
mov dword [esp], 0xd3bf6aa1
mov eax, 0xd3bf6aa1
jmp 0x4277ec
cmp eax, 0xe7293c9f
jg 0x427a75
cmp eax, 0xdba6c272
jg 0x427c44
cmp eax, 0xc39adbe0
je 0x427ea3
cmp eax, 0xd3bf6aa1
je 0x427f04
cmp eax, 0xd9c734c9
jne 0x4277ec
mov dword [esp], 0xf27cbb90
mov eax, 0xf27cbb90
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x20], ecx
jmp 0x4277ec
cmp eax, 0x58814a1e
jg 0x427ae7
cmp eax, 0x46449cce
jg 0x427c76
cmp eax, 0x4160f3c0
je 0x427f70
cmp eax, 0x4218607d
je 0x427fc1
cmp eax, 0x44082fce
jne 0x4277ec
mov dword [esp], 0x82691b50
mov eax, 0x82691b50
jmp 0x4277ec
cmp eax, 0xb05f5c3b
jg 0x427ce5
cmp eax, 0xa8fefa96
je 0x42800f
cmp eax, 0xaca6ff47
je 0x42803c
cmp eax, 0xace9d992
jne 0x4277ec
mov eax, dword [esp + 0x4c]
imul eax, dword [esp + 0xac]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xfffffffe
and eax, 1
or eax, edx
not eax
or eax, ecx
xor eax, 0xffffffff
setne cl
sete al
mov edx, dword [esp + 0xa8]
cmp edx, 0xa
setl dl
setge ah
mov ch, al
xor ch, ah
and ch, al
and dl, cl
and al, ah
or al, dl
mov cl, al
xor cl, ch
test al, al
mov eax, 0x44082fce
mov edx, 0xd9a6739
cmovne eax, edx
test ch, ch
mov ebp, 0x44082fce
cmove eax, ebp
test cl, cl
cmovne eax, edx
mov dword [esp], eax
jmp 0x4277ec
cmp eax, 0x2f4f5cee
jg 0x427d36
cmp eax, 0x249a4dc3
je 0x42807a
cmp eax, 0x2acb66bc
je 0x4280a3
cmp eax, 0x2c42742e
jne 0x4277ec
push dword [esp + 0x34]
push dword [esp + 0x34]
call fcn.004433ea
add esp, 8
mov eax, dword [0x45cadc]
mov ecx, dword [0x45cae0]
mov dword [esp + 0x94], ecx
lea ecx, [eax - 1]
imul ecx, eax
mov dword [esp + 0x98], ecx
mov dword [esp], 0x3bf23614
mov eax, 0x3bf23614
jmp 0x4277ec
cmp eax, 0xf213a9cb
jg 0x427d88
cmp eax, 0xe7293ca0
je 0x4280c4
cmp eax, 0xee6cbbcc
je 0x4280d5
cmp eax, 0xef61c99b
jne 0x4277ec
mov ecx, dword [esp + 0x90]
mov eax, ecx
not eax
and ecx, 0x573122ab
mov edx, eax
and edx, 0xa8cedd54
or edx, ecx
xor edx, 0xa8cedd55
and eax, 0xfffffffe
or eax, edx
xor eax, 0x44b204e8
cmp eax, 0xbb4dfb17
sete byte [esp + 0xb]
mov dword [esp], 0xdec5e04e
mov eax, 0xdec5e04e
jmp 0x4277ec
cmp eax, 0x6fef96e4
jle 0x427dff
cmp eax, 0x6fef96e5
je 0x42810e
cmp eax, 0x7b67a5a6
je 0x428167
cmp eax, 0x7c57cd3c
jne 0x4277ec
mov al, byte [esp + 0xc]
mov dl, byte [esp + 0xd]
mov ah, al
xor ah, 1
and ah, al
mov cl, ah
xor cl, al
or cl, ah
mov ah, cl
xor ah, 1
and ah, dl
mov ch, al
xor ch, dl
or al, dl
xor dl, 1
and cl, dl
or cl, ah
xor al, 1
or al, ch
mov edx, eax
xor dl, cl
test al, 1
mov eax, 0xaca6ff47
mov ebp, 0x2acb66bc
cmovne eax, ebp
test cl, 1
cmove eax, ebp
test dl, 1
mov ecx, 0xaca6ff47
jmp 0x4283fc
cmp eax, 0x936ad88f
je 0x428190
cmp eax, 0x945898cc
je 0x4281ad
cmp eax, 0xa3d6bd54
jne 0x4277ec
mov eax, dword [esp + 0x54]
add eax, 0xc
push 0x4582de
push eax
call fcn.0043b4cc
add esp, 8
mov dword [esp], 0xb05f5c3c
mov eax, 0xb05f5c3c
jmp 0x4277ec
cmp eax, 0x17f3ab87
je 0x4281be
cmp eax, 0x199318df
je 0x4281e4
cmp eax, 0x1e84f2d1
jne 0x4277ec
mov eax, dword [esp + 0x18]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x34], eax
mov eax, dword [0x45cadc]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
not eax
mov edx, eax
and edx, 0xfffffffe
and ecx, 1
or ecx, edx
xor eax, ecx
test eax, ecx
setne al
sete dl
cmp dword [0x45cae0], 0xa
setl cl
setge ah
and dl, ah
and cl, al
or cl, dl
mov edx, eax
and dl, ah
xor al, ah
or al, dl
mov edx, eax
xor dl, cl
mov edx, 0xb481fb18
mov ebp, 0x2acb66bc
cmovne edx, ebp
test al, al
mov eax, 0xb481fb18
cmovne eax, edx
test cl, cl
cmove eax, edx
mov dword [esp], eax
jmp 0x4277ec
cmp eax, 0xdba6c273
je 0x42820d
cmp eax, 0xdec5e04e
je 0x428237
cmp eax, 0xe25fb717
jne 0x4277ec
mov dword [esp], 0x17f3ab87
mov eax, 0x17f3ab87
jmp 0x4277ec
cmp eax, 0x46449ccf
je 0x42827f
cmp eax, 0x47fa4b31
je 0x4282b1
cmp eax, 0x54cb169f
jne 0x4277ec
cmp dword [esp + 0x9c], 0
sete al
setne cl
mov edx, dword [esp + 0x94]
cmp edx, 0xa
setge dl
setl ah
mov ch, ah
xor ch, cl
and ch, ah
and dl, al
and ah, cl
or ah, dl
mov cl, ch
xor cl, ah
test ah, ah
mov eax, 0x58814a1f
mov esi, 0x4160f3c0
cmovne eax, esi
test ch, ch
mov edx, 0x58814a1f
cmove eax, edx
test cl, cl
jmp 0x42838e
cmp eax, 0xb05f5c3c
je 0x4282ce
cmp eax, 0xb19ff2df
je 0x4282f3
cmp eax, 0xb481fb18
jne 0x4277ec
mov eax, dword [0x45cadc]
mov ecx, dword [0x45cae0]
mov dword [esp + 0x8c], ecx
lea ecx, [eax - 1]
imul ecx, eax
mov dword [esp + 0x90], ecx
mov dword [esp], 0xef61c99b
mov eax, 0xef61c99b
jmp 0x4277ec
cmp eax, 0x2f4f5cef
je 0x428313
cmp eax, 0x34327c79
je 0x428399
cmp eax, 0x3bf23614
jne 0x4277ec
mov eax, dword [esp + 0x98]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xfffffffe
and eax, 1
or eax, edx
xor ecx, eax
and ecx, eax
mov dword [esp + 0x9c], ecx
mov dword [esp], 0x54cb169f
mov eax, 0x54cb169f
jmp 0x4277ec
cmp eax, 0xf213a9cc
je 0x4283b9
cmp eax, 0xf27cbb90
je 0x4283d3
cmp eax, 0xfdb19e4a
jne 0x4277ec
mov eax, dword [0x45cadc]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
not eax
and ecx, 0x6fdb04c5
mov edx, eax
and edx, 0x9024fb3a
or edx, ecx
xor edx, 0x9024fb3b
and eax, 0xfffffffe
or eax, edx
xor eax, 0x94fac521
cmp eax, 0x6b053ade
sete byte [esp + 0x11]
mov eax, dword [0x45cae0]
mov dword [esp + 0xb0], eax
mov dword [esp], 0xb19ff2df
mov eax, 0xb19ff2df
jmp 0x4277ec
cmp eax, 0x58814a1f
je 0x428407
cmp eax, 0x5b7713dc
jne 0x428428
mov dword [esp], 0x199318df
mov eax, 0x199318df
jmp 0x4277ec
mov cl, byte [esp + 0x11]
mov al, byte [esp + 0x12]
xor al, cl
mov edx, eax
xor dl, 1
and cl, dl
xor dl, cl
test al, 1
mov eax, 0xe25fb717
mov ebp, 0x17f3ab87
cmovne eax, ebp
test cl, 1
mov ecx, 0xe25fb717
cmove eax, ecx
jmp 0x428271
mov eax, dword [0x45cadc]
mov dword [esp + 0x4c], eax
mov eax, dword [0x45cae0]
mov dword [esp + 0xa8], eax
mov dword [esp], 0x47fa4b31
mov eax, 0x47fa4b31
jmp 0x4277ec
cmp byte [esp + 0x10], 0
mov eax, 0x44082fce
mov ecx, 0x82691b50
jmp 0x4283c8
mov dword [esp], 0xfdb19e4a
mov eax, 0xfdb19e4a
jmp 0x4277ec
mov ebp, edi
mov ecx, dword [esp + 0x1c]
sub ebp, ecx
mov eax, ebp
sar eax, 1
push eax
push ecx
push ebx
call fcn.00443806
add esp, 0xc
add ebx, ebp
push 0
push 0x45849c
push ebx
call fcn.00443806
add esp, 0xc
mov esi, edi
add esi, 0xc
push 0x4582de
push esi
call fcn.0043b4cc
add esp, 8
mov edi, eax
test eax, eax
mov eax, 0xc39adbe0
mov ecx, 0x1e84f2d1
cmove eax, ecx
mov dword [esp], eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ebx
jmp 0x4277ec
mov eax, dword [esp + 0x44]
imul eax, dword [esp + 0x84]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x7476e8c3
and eax, 0x8b89173c
or eax, edx
xor eax, 0x7476e8c2
or eax, ecx
cmp eax, 0xffffffff
sete al
mov ecx, dword [esp + 0x80]
cmp ecx, 0xa
setl cl
setge dl
xor dl, al
mov ch, dl
xor ch, 1
or cl, al
xor cl, 1
or cl, ch
xor ch, cl
test cl, cl
mov eax, 0xdba6c273
mov ebp, 0x936ad88f
cmovne eax, ebp
test dl, dl
cmovne eax, ebp
test ch, ch
mov ecx, 0xdba6c273
jmp 0x4283fc
mov eax, dword [0x45cadc]
mov ecx, dword [0x45cae0]
mov dword [esp + 0xa0], ecx
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
not eax
and ecx, 0xe41286fa
mov edx, eax
and edx, 0x1bed7905
or edx, ecx
xor edx, 0x1bed7904
and eax, 0xfffffffe
or eax, edx
not eax
mov dword [esp + 0xa4], eax
mov dword [esp], 0xa8fefa96
mov eax, 0xa8fefa96
jmp 0x4277ec
mov dl, byte [esp + 0xe]
mov al, byte [esp + 0xf]
mov ah, al
xor ah, 1
mov ch, al
and ch, ah
mov cl, ch
xor cl, al
or cl, ch
mov ch, cl
xor ch, 1
and ch, dl
or al, dl
xor dl, 1
and cl, dl
or cl, ch
xor dl, ah
xor al, 1
or al, dl
xor al, 1
mov edx, ecx
and dl, al
xor al, cl
or al, dl
and al, 1
mov byte [esp + 0x10], al
mov dword [esp], 0x49ba1c8
mov eax, 0x49ba1c8
jmp 0x4277ec
cmp dword [esp + 0xa4], 0
sete byte [esp + 0xc]
mov eax, dword [esp + 0xa0]
cmp eax, 0xa
setl byte [esp + 0xd]
mov dword [esp], 0x7c57cd3c
mov eax, 0x7c57cd3c
jmp 0x4277ec
mov eax, dword [0x45cadc]
mov ecx, dword [0x45cae0]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
not eax
and eax, 0xfffffffe
xor edx, 1
or edx, eax
cmp edx, 0xffffffff
sete byte [esp + 0xe]
cmp ecx, 0xa
setl byte [esp + 0xf]
mov dword [esp], 0x4218607d
mov eax, 0x4218607d
jmp 0x4277ec
push 0x4582de
push dword [esp + 0xd0]
call fcn.0043b4cc
add esp, 8
mov dword [esp + 0x38], eax
mov dword [esp], 0x46449ccf
mov eax, 0x46449ccf
jmp 0x4277ec
push dword [esp + 0x34]
push dword [esp + 0x34]
call fcn.004433ea
add esp, 8
mov dword [esp], 0x87dfe1a9
mov eax, 0x87dfe1a9
jmp 0x4277ec
mov dword [esp], 0x945898cc
mov eax, 0x945898cc
jmp 0x4277ec
cmp dword [esp + 0x48], 0
mov eax, 0xc39adbe0
mov ecx, 0x1e84f2d1
cmove eax, ecx
mov dword [esp], eax
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x18], ecx
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], ecx
jmp 0x4277ec
mov eax, dword [esp + 0x50]
inc eax
imul eax, dword [esp + 0x50]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xfffffffe
and eax, 1
or eax, edx
not eax
or eax, ecx
cmp eax, 0xffffffff
sete al
mov ecx, dword [esp + 0xb4]
cmp ecx, 0xa
setl cl
xor cl, al
mov edx, ecx
xor dl, 1
and al, dl
mov ah, al
not ah
xor al, cl
or ah, dl
not ah
or ah, al
mov byte [esp + 0x13], ah
mov dword [esp], 0xf213a9cc
mov eax, 0xf213a9cc
jmp 0x4277ec
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov dword [esp], 0xa3d6bd54
mov eax, 0xa3d6bd54
jmp 0x4277ec
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov dword [esp], 0x7b67a5a6
mov eax, 0x7b67a5a6
jmp 0x4277ec
mov dword [esp], 0x2c42742e
mov eax, 0x2c42742e
jmp 0x4277ec
mov eax, dword [0x45cadc]
mov dword [esp + 0x50], eax
mov eax, dword [0x45cae0]
mov dword [esp + 0xb4], eax
mov dword [esp], 0x6fef96e5
mov eax, 0x6fef96e5
jmp 0x4277ec
push 0x4582de
push dword [esp + 0xd0]
call fcn.0043b4cc
add esp, 8
mov dword [esp + 0x48], eax
mov dword [esp], 0xee6cbbcc
mov eax, 0xee6cbbcc
jmp 0x4277ec
cmp byte [esp + 0xa], 0
mov eax, 0x2f4f5cef
mov ecx, 0x34327c79
cmovne eax, ecx
mov dword [esp], eax
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x24], ecx
jmp 0x4277ec
mov eax, dword [esp + 0x8c]
cmp eax, 0xa
setl al
mov cl, byte [esp + 0xb]
mov edx, ecx
xor dl, al
or cl, al
xor cl, 1
or cl, dl
mov eax, ecx
xor al, dl
test al, 1
mov ebp, 0x2c42742e
mov eax, 0x58814a1f
cmovne ebp, eax
test cl, 1
mov eax, 0x2c42742e
cmovne eax, ebp
test dl, 1
cmove eax, ebp
mov dword [esp], eax
jmp 0x4277ec
cmp dword [esp + 0x38], 0
mov eax, 0x2f4f5cef
mov ecx, 0xf27cbb90
cmove eax, ecx
mov dword [esp], eax
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], 0
jmp 0x4277ec
mov eax, dword [esp + 0x4c]
dec eax
mov dword [esp + 0xac], eax
mov dword [esp], 0xace9d992
mov eax, 0xace9d992
jmp 0x4277ec
mov eax, dword [esp + 4]
inc eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x54]
add eax, 0xc
mov dword [esp + 0x7c], eax
mov dword [esp], 0xdbdaa5b
mov eax, 0xdbdaa5b
jmp 0x4277ec
mov eax, dword [esp + 0xb0]
cmp eax, 0xa
setl byte [esp + 0x12]
mov dword [esp], 0x82033593
mov eax, 0x82033593
jmp 0x4277ec
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
mov eax, dword [0x45cadc]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
not eax
and ecx, 0x904ce525
mov edx, eax
and edx, 0x6fb31ada
or edx, ecx
xor edx, 0x6fb31adb
and eax, 0xfffffffe
or eax, edx
xor eax, 0xffffffff
setne al
sete cl
cmp dword [0x45cae0], 0xa
setl dl
setge ah
mov ch, cl
xor ch, ah
and ch, cl
and dl, al
and cl, ah
or cl, dl
mov edx, ecx
xor dl, ch
test cl, cl
mov eax, 0x936ad88f
mov esi, 0xb05f5c3c
cmovne eax, esi
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x54], ebp
test ch, ch
mov ecx, 0x936ad88f
cmove eax, ecx
test dl, dl
cmovne eax, esi
mov dword [esp], eax
jmp 0x4277ec
imul eax, dword [esp + 0x3c], 0x7ffffffa
mov dword [esp + 0x88], eax
mov dword [esp], 0xd9c734c9
mov eax, 0xd9c734c9
jmp 0x4277ec
cmp byte [esp + 0x13], 0
mov eax, 0xe25fb717
mov ecx, 0x689d6cb8
cmovne eax, ecx
mov dword [esp], eax
jmp 0x4277ec
mov eax, dword [esp + 0x78]
add eax, dword [esp + 0x20]
add eax, eax
add eax, 2
push eax
call fcn.0043fb04
add esp, 4
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x2c], 0
mov eax, 0x5b7713dc
mov ecx, 0xfdb19e4a
cmove eax, ecx
mov dword [esp], eax
jmp 0x4277ec
push dword [esp + 0x34]
push dword [esp + 0x34]
call fcn.004433ea
add esp, 8
mov dword [esp], 0xe7293ca0
mov eax, 0xe7293ca0
jmp 0x4277ec
cmp eax, 0x689d6cb8
jne 0x4277ec
mov eax, dword [esp + 0x18]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], edi
mov eax, dword [esp + 0x20]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x2c]
add esp, 0xb8
pop esi
pop edi
pop ebx
pop ebp
ret