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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x80
mov esi, esp
mov dword [esi + 0x10], ecx
lea eax, [ebp + 8]
mov dword [esi + 0x14], eax
mov eax, dword [0x43c080]
xor eax, ebp
mov dword [esi + 0x78], eax
mov dword [esi + 0x1c], 0x2f6c35ab
mov eax, dword [esi + 0x1c]
mov dword [esi + 0xc], eax
sub eax, 0x87274b12
je 0x405700
jmp 0x405121
mov eax, dword [esi + 0xc]
sub eax, 0x88c2c4ed
je 0x40562e
jmp 0x405134
mov eax, dword [esi + 0xc]
sub eax, 0x8ecee226
je 0x405955
jmp 0x405147
mov eax, dword [esi + 0xc]
sub eax, 0x9c559741
je 0x4057d1
jmp 0x40515a
mov eax, dword [esi + 0xc]
sub eax, 0xa0dba6cf
je 0x405777
jmp 0x40516d
mov eax, dword [esi + 0xc]
sub eax, 0xa37dd5fb
je 0x40552a
jmp 0x405180
mov eax, dword [esi + 0xc]
sub eax, 0xa8d3c6c2
je 0x4056ba
jmp 0x405193
mov eax, dword [esi + 0xc]
sub eax, 0xac7f008f
je 0x40556d
jmp 0x4051a6
mov eax, dword [esi + 0xc]
sub eax, 0xad2d3152
je 0x4057f8
jmp 0x4051b9
mov eax, dword [esi + 0xc]
sub eax, 0xb7b35565
je 0x40563a
jmp 0x4051cc
mov eax, dword [esi + 0xc]
sub eax, 0xbdbb492b
je 0x405536
jmp 0x4051df
mov eax, dword [esi + 0xc]
sub eax, 0xd1645fca
je 0x4054f5
jmp 0x4051f2
mov eax, dword [esi + 0xc]
sub eax, 0xd482dc94
je 0x40592e
jmp 0x405205
mov eax, dword [esi + 0xc]
sub eax, 0xe6179be7
je 0x405462
jmp 0x405218
mov eax, dword [esi + 0xc]
sub eax, 0xe7f55237
je 0x4058d4
jmp 0x40522b
mov eax, dword [esi + 0xc]
sub eax, 0xf9442433
je 0x40564f
jmp 0x40523e
mov eax, dword [esi + 0xc]
sub eax, 0xfb3efaa2
je 0x4057c5
jmp 0x405251
mov eax, dword [esi + 0xc]
sub eax, 0x62fcaab
je 0x405559
jmp 0x405264
mov eax, dword [esi + 0xc]
sub eax, 0x129e7144
je 0x4058fc
jmp 0x405277
mov eax, dword [esi + 0xc]
sub eax, 0x17d95c5b
je 0x4058c8
jmp 0x40528a
mov eax, dword [esi + 0xc]
sub eax, 0x195bdaf5
je 0x4054e1
jmp 0x40529d
mov eax, dword [esi + 0xc]
sub eax, 0x1d07687c
je 0x40570c
jmp 0x4052b0
mov eax, dword [esi + 0xc]
sub eax, 0x2f6c35ab
je 0x405386
jmp 0x4052c3
mov eax, dword [esi + 0xc]
sub eax, 0x3bf5d63a
je 0x4057ec
jmp 0x4052d6
mov eax, dword [esi + 0xc]
sub eax, 0x4148de58
je 0x405846
jmp 0x4052e9
mov eax, dword [esi + 0xc]
sub eax, 0x4a512fe9
je 0x405922
jmp 0x4052fc
mov eax, dword [esi + 0xc]
sub eax, 0x4a6d4e02
je 0x40593a
jmp 0x40530f
mov eax, dword [esi + 0xc]
sub eax, 0x4aafd24b
je 0x4055e0
jmp 0x405322
mov eax, dword [esi + 0xc]
sub eax, 0x5f487071
je 0x40546e
jmp 0x405335
mov eax, dword [esi + 0xc]
sub eax, 0x662b0db8
je 0x40550f
jmp 0x405348
mov eax, dword [esi + 0xc]
sub eax, 0x687584b1
je 0x4053cc
jmp 0x40535b
mov eax, dword [esi + 0xc]
sub eax, 0x6b058c9a
je 0x405946
jmp 0x40536e
mov eax, dword [esi + 0xc]
sub eax, 0x7739a63a
je 0x4058e8
jmp 0x405381
jmp 0x40595f
mov eax, dword [0x43d5b4]
mov ecx, dword [0x43d5b0]
xor edi, edi
sub edi, 1
mov edx, eax
add edx, edi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x4a512fe9
mov ecx, 0x687584b1
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40595f
mov eax, dword [esi + 0x14]
push eax
push eax
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
mov dword [esi + 0x3c], ecx
push eax
push eax
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
mov dword [esi + 0x40], ecx
push eax
mov ecx, esp
mov dword [esi + 0x44], ecx
push eax
mov ecx, esp
mov dword [esi + 0x48], ecx
push eax
mov ecx, esp
mov dword [esi + 0x4c], ecx
push eax
mov ecx, esp
mov dword [esi + 0x50], ecx
push eax
mov ecx, esp
mov dword [esi + 0x54], ecx
push eax
mov ecx, esp
mov dword [esi + 0x58], ecx
mov dword [esi + 0x5c], eax
add eax, 0x18
mov dword [esi + 0x60], eax
mov eax, dword [0x43d5b4]
mov ecx, dword [0x43d5b0]
mov edx, eax
add edx, 0x7d40cb04
sub edx, 1
sub edx, 0x7d40cb04
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x4a512fe9
mov ecx, 0xe6179be7
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40595f
mov dword [esi + 0x1c], 0x5f487071
jmp 0x40595f
mov eax, dword [esi + 0x10]
mov dword [esi + 0x38], eax
mov dword [esi + 0x34], 0xd32
mov dword [esi + 0x30], 0x134a
mov byte [esi + 0x2f], 1
vmovsd xmm0, qword [0x4351f8]
vmovsd qword [esi + 0x20], xmm0
mov eax, dword [esi + 0x3c]
vmovsd xmm0, qword [0x4351f0]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x40]
vmovsd xmm0, qword [0x4351e8]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x44]
mov dword [eax], 0xe4d
mov eax, dword [esi + 0x48]
mov byte [eax], 1
mov eax, dword [esi + 0x4c]
mov byte [eax], 1
mov eax, dword [esi + 0x50]
mov byte [eax], 0
mov eax, dword [esi + 0x54]
mov dword [eax], 0x3c
mov dword [esi + 0x1c], 0x195bdaf5
jmp 0x40595f
mov eax, dword [esi + 0x54]
mov eax, dword [eax]
mov dword [esi + 0x64], eax
mov dword [esi + 0x1c], 0xd1645fca
jmp 0x40595f
mov eax, dword [esi + 0x64]
cmp eax, 0
setg al
and al, 1
mov byte [esi + 0x6b], al
mov dword [esi + 0x1c], 0x662b0db8
jmp 0x40595f
mov dl, byte [esi + 0x6b]
mov eax, 0xb7b35565
mov ecx, 0xa37dd5fb
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40595f
mov dword [esi + 0x1c], 0xbdbb492b
jmp 0x40595f
mov eax, dword [esi + 0x54]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xffffffff
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [esi + 0x6c], eax
mov dword [esi + 0x1c], 0x62fcaab
jmp 0x40595f
mov eax, dword [esi + 0x54]
mov ecx, dword [esi + 0x6c]
mov dword [eax], ecx
mov dword [esi + 0x1c], 0xac7f008f
jmp 0x40595f
mov ecx, dword [0x43d5b4]
mov eax, dword [0x43d5b0]
mov edx, ecx
sub edx, 0x7a7d57e4
sub edx, 1
add edx, 0x7a7d57e4
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xd482dc94
mov ecx, 0x4aafd24b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40595f
mov eax, dword [0x43d5b4]
mov ecx, dword [0x43d5b0]
mov edx, eax
add edx, 0xa5336d9e
sub edx, 1
sub edx, 0xa5336d9e
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xd482dc94
mov ecx, 0x88c2c4ed
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40595f
mov dword [esi + 0x1c], 0x195bdaf5
jmp 0x40595f
mov eax, dword [esi + 0x58]
mov dword [eax], 0x37
mov dword [esi + 0x1c], 0xf9442433
jmp 0x40595f
mov ecx, dword [0x43d5b4]
mov eax, dword [0x43d5b0]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x4a6d4e02
mov ecx, 0xa8d3c6c2
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40595f
mov eax, dword [0x43d5b4]
mov ecx, dword [0x43d5b0]
xor edi, edi
sub edi, 1
mov edx, eax
add edx, edi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x4a6d4e02
mov ecx, 0x87274b12
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40595f
mov dword [esi + 0x1c], 0x1d07687c
jmp 0x40595f
mov ecx, dword [0x43d5b4]
mov eax, dword [0x43d5b0]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x6b058c9a
mov ecx, 0xa0dba6cf
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40595f
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov dword [esi + 0x70], eax
mov eax, dword [0x43d5b4]
mov ecx, dword [0x43d5b0]
xor edi, edi
sub edi, 1
mov edx, eax
add edx, edi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x6b058c9a
mov ecx, 0xfb3efaa2
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40595f
mov dword [esi + 0x1c], 0x9c559741
jmp 0x40595f
mov edx, dword [esi + 0x70]
mov eax, 0x7739a63a
mov ecx, 0x3bf5d63a
cmp edx, 0
cmovg eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40595f
mov dword [esi + 0x1c], 0xad2d3152
jmp 0x40595f
mov eax, dword [0x43d5b4]
mov ecx, dword [0x43d5b0]
mov edx, eax
sub edx, 0x226d9014
sub edx, 1
add edx, 0x226d9014
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x8ecee226
mov ecx, 0x4148de58
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40595f
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, 0xffffffff
sub eax, ecx
mov dword [esi + 0x74], eax
mov ecx, dword [0x43d5b4]
mov eax, dword [0x43d5b0]
mov edx, ecx
sub edx, 0x5a9ec28b
sub edx, 1
add edx, 0x5a9ec28b
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x8ecee226
mov ecx, 0x17d95c5b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40595f
mov dword [esi + 0x1c], 0xe7f55237
jmp 0x40595f
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x74]
mov dword [eax], ecx
mov dword [esi + 0x1c], 0x1d07687c
jmp 0x40595f
mov ecx, dword [esi + 0x5c]
call fcn.0041c7f0
mov dword [esi + 0x1c], 0x129e7144
jmp 0x40595f
mov ecx, dword [esi + 0x60]
call fcn.0041c7f0
fld dword [0x4351e0]
fstp xword [esi]
mov ecx, dword [esi + 0x78]
xor ecx, ebp
call fcn.00425ee0
fld xword [esi]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x38
mov dword [esi + 0x1c], 0x687584b1
jmp 0x40595f
mov dword [esi + 0x1c], 0x4aafd24b
jmp 0x40595f
mov dword [esi + 0x1c], 0xa8d3c6c2
jmp 0x40595f
mov eax, dword [esi + 0x58]
mov dword [esi + 0x1c], 0xa0dba6cf
jmp 0x40595f
mov eax, dword [esi + 0x58]
mov dword [esi + 0x1c], 0x4148de58
jmp 0x40510b