Function at 0x10004020
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 + 0x14], ecx
mov al, byte [ebp + 8]
mov byte [esi + 0x1b], al
mov eax, dword [0x1008b080]
xor eax, ebp
mov dword [esi + 0x78], eax
mov dword [esi + 0x1c], 0x48626a37
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x10], eax
sub eax, 0x8b53f8fd
je 0x100045e2
jmp 0x10004061
mov eax, dword [esi + 0x10]
sub eax, 0x8dc28dca
je 0x100045bb
jmp 0x10004074
mov eax, dword [esi + 0x10]
sub eax, 0x8e060153
je 0x100044d4
jmp 0x10004087
mov eax, dword [esi + 0x10]
sub eax, 0xac27c003
je 0x1000455f
jmp 0x1000409a
mov eax, dword [esi + 0x10]
sub eax, 0xaf1dea14
je 0x1000444c
jmp 0x100040ad
mov eax, dword [esi + 0x10]
sub eax, 0xbc1ac5ba
je 0x100044f4
jmp 0x100040c0
mov eax, dword [esi + 0x10]
sub eax, 0xcfa5c506
je 0x1000438a
jmp 0x100040d3
mov eax, dword [esi + 0x10]
sub eax, 0xdf3e5ae2
je 0x1000466a
jmp 0x100040e6
mov eax, dword [esi + 0x10]
sub eax, 0xe1504649
je 0x100044e0
jmp 0x100040f9
mov eax, dword [esi + 0x10]
sub eax, 0xea9d46b7
je 0x100045f6
jmp 0x1000410c
mov eax, dword [esi + 0x10]
sub eax, 0x782591
je 0x10004619
jmp 0x1000411f
mov eax, dword [esi + 0x10]
sub eax, 0xd641492
je 0x100043d9
jmp 0x10004132
mov eax, dword [esi + 0x10]
sub eax, 0x183f3826
je 0x10004396
jmp 0x10004145
mov eax, dword [esi + 0x10]
sub eax, 0x19b5f51c
je 0x100043cd
jmp 0x10004158
mov eax, dword [esi + 0x10]
sub eax, 0x1bd77b0b
je 0x100043b9
jmp 0x1000416b
mov eax, dword [esi + 0x10]
sub eax, 0x1f86bcee
je 0x100042a0
jmp 0x1000417e
mov eax, dword [esi + 0x10]
sub eax, 0x26d7f070
je 0x1000435b
jmp 0x10004191
mov eax, dword [esi + 0x10]
sub eax, 0x48626a37
je 0x1000422e
jmp 0x100041a4
mov eax, dword [esi + 0x10]
sub eax, 0x49dae388
je 0x10004655
jmp 0x100041b7
mov eax, dword [esi + 0x10]
sub eax, 0x4d99d2c5
je 0x1000436f
jmp 0x100041ca
mov eax, dword [esi + 0x10]
sub eax, 0x4f9ef6df
je 0x1000462d
jmp 0x100041dd
mov eax, dword [esi + 0x10]
sub eax, 0x58c92c87
je 0x100044c8
jmp 0x100041f0
mov eax, dword [esi + 0x10]
sub eax, 0x645878cc
je 0x100045d6
jmp 0x10004203
mov eax, dword [esi + 0x10]
sub eax, 0x677b5c7e
je 0x1000433a
jmp 0x10004216
mov eax, dword [esi + 0x10]
sub eax, 0x719bc187
je 0x1000434f
jmp 0x10004229
jmp 0x10004674
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x1b]
push eax
mov edx, esp
mov dword [esi + 0x30], edx
sub esp, 0x18
mov edx, esp
mov dword [esi + 0x34], edx
sub esp, 8
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
mov dword [esi + 0x38], edx
push eax
sub esp, 0x14
mov edx, esp
mov dword [esi + 0x3c], edx
sub esp, 0x18
mov edx, esp
mov dword [esi + 0x40], edx
push eax
mov edx, esp
mov dword [esi + 0x44], edx
push eax
mov edx, esp
mov dword [esi + 0x48], edx
and cl, 1
mov byte [esi + 0x2f], cl
mov dword [esi + 0x28], eax
lea ecx, [esi + 0x60]
lea eax, str.vfwzzqoefdpttwmhddarowgunqurfkihvbnqooguivhlrtgsdaplfyumgbagqnyhidb
sub esp, 4
mov dword [esp], eax
call fcn.10013b20
mov byte [esi + 0x27], 0
mov dword [esi + 0x20], 0xaba
mov dword [esi + 0x1c], 0x1f86bcee
jmp 0x10004674
mov eax, dword [esi + 0x30]
mov dword [eax], 0x3b7
mov ecx, dword [esi + 0x34]
lea eax, str.cqrxtlzsviiaizfqpyeiwzamzyoaxxjdlwsznmczknophim
sub esp, 4
mov dword [esp], eax
call fcn.10013b20
mov eax, dword [esi + 0x38]
movsd xmm0, qword [0x1002c1e8]
movsd qword [eax], xmm0
mov ecx, dword [esi + 0x3c]
lea eax, str.cqrxtlzsviiaizfqpyeiwzamzyoaxxjdlwsznmczknophim
sub esp, 4
mov dword [esp], eax
call fcn.10013b20
mov ecx, dword [esi + 0x40]
lea eax, str.cqrxtlzsviiaizfqpyeiwzamzyoaxxjdlwsznmczknophim
sub esp, 4
mov dword [esp], eax
call fcn.10013b20
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi + 0x40]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.100141a0
add esp, 8
mov byte [esi + 0xf], al
mov ecx, dword [esi + 0x40]
call fcn.10013f60
mov ecx, dword [esi + 0x3c]
call fcn.10013f60
mov dl, byte [esi + 0xf]
mov eax, 0xd641492
mov ecx, 0x677b5c7e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x10004674
mov eax, dword [esi + 0x44]
mov dword [eax], 0x4a
mov dword [esi + 0x1c], 0x719bc187
jmp 0x10004674
mov dword [esi + 0x1c], 0x26d7f070
jmp 0x10004674
mov eax, dword [esi + 0x44]
mov eax, dword [eax]
mov dword [esi + 0x4c], eax
mov dword [esi + 0x1c], 0x4d99d2c5
jmp 0x10004674
mov edx, dword [esi + 0x4c]
mov eax, 0x19b5f51c
mov ecx, 0xcfa5c506
cmp edx, 0
cmovg eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x10004674
mov dword [esi + 0x1c], 0x183f3826
jmp 0x10004674
mov eax, dword [esi + 0x44]
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 + 0x50], eax
mov dword [esi + 0x1c], 0x1bd77b0b
jmp 0x10004674
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x50]
mov dword [eax], ecx
mov dword [esi + 0x1c], 0x26d7f070
jmp 0x10004674
mov dword [esi + 0x1c], 0xd641492
jmp 0x10004674
mov ecx, dword [0x1008c5bc]
mov eax, dword [0x1008c5b8]
mov edx, ecx
add edx, 0x49e2167e
sub edx, 1
sub edx, 0x49e2167e
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, 0x49dae388
mov ecx, 0xaf1dea14
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x10004674
mov eax, dword [esi + 0x48]
mov dword [eax], 0x48
mov ecx, dword [0x1008c5bc]
mov eax, dword [0x1008c5b8]
mov edx, ecx
add edx, 0xa1a8e915
sub edx, 1
sub edx, 0xa1a8e915
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, 0x49dae388
mov ecx, 0x58c92c87
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x10004674
mov dword [esi + 0x1c], 0x8e060153
jmp 0x10004674
mov dword [esi + 0x1c], 0xe1504649
jmp 0x10004674
mov eax, dword [esi + 0x48]
mov eax, dword [eax]
mov dword [esi + 0x54], eax
mov dword [esi + 0x1c], 0xbc1ac5ba
jmp 0x10004674
mov ecx, dword [0x1008c5bc]
mov eax, dword [0x1008c5b8]
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, 0xdf3e5ae2
mov ecx, 0xac27c003
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x10004674
mov eax, dword [esi + 0x54]
cmp eax, 0
setg al
and al, 1
mov byte [esi + 0x5b], al
mov eax, dword [0x1008c5bc]
mov ecx, dword [0x1008c5b8]
mov edx, eax
add edx, 0x942e0c19
sub edx, 1
sub edx, 0x942e0c19
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, 0xdf3e5ae2
mov ecx, 0x8dc28dca
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x10004674
mov dl, byte [esi + 0x5b]
mov eax, 0x782591
mov ecx, 0x645878cc
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x10004674
mov dword [esi + 0x1c], 0x8b53f8fd
jmp 0x10004674
mov eax, dword [esi + 0x48]
mov eax, dword [eax]
mov dword [esi + 0x5c], eax
mov dword [esi + 0x1c], 0xea9d46b7
jmp 0x10004674
mov ecx, dword [esi + 0x5c]
sub ecx, 0x74e1ab01
add ecx, 0xffffffff
add ecx, 0x74e1ab01
mov eax, dword [esi + 0x48]
mov dword [eax], ecx
mov dword [esi + 0x1c], 0xe1504649
jmp 0x10004674
mov ecx, dword [esi + 0x34]
call fcn.10013f60
mov dword [esi + 0x1c], 0x4f9ef6df
jmp 0x10004674
lea ecx, [esi + 0x60]
call fcn.10013f60
fld dword [0x1002c1e0]
fstp xword [esi + 4]
mov ecx, dword [esi + 0x78]
xor ecx, ebp
call fcn.1001dac0
fld xword [esi + 4]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
mov eax, dword [esi + 0x48]
mov dword [eax], 0x48
mov dword [esi + 0x1c], 0xaf1dea14
jmp 0x10004674
mov eax, dword [esi + 0x54]
mov dword [esi + 0x1c], 0xac27c003
jmp 0x1000404b