Function at 0x401040
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 + 0xc]
mov byte [esi + 0x1a], al
mov al, byte [ebp + 8]
mov byte [esi + 0x1b], al
mov eax, dword [0x441080]
xor eax, ebp
mov dword [esi + 0x78], eax
mov dword [esi + 0x1c], 0x43602835
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x10], eax
sub eax, 0x8779f283
je 0x40193a
jmp 0x401087
mov eax, dword [esi + 0x10]
sub eax, 0x8853bef6
je 0x40195d
jmp 0x40109a
mov eax, dword [esi + 0x10]
sub eax, 0x8bad63d3
je 0x4019c1
jmp 0x4010ad
mov eax, dword [esi + 0x10]
sub eax, 0x93d5673e
je 0x401760
jmp 0x4010c0
mov eax, dword [esi + 0x10]
sub eax, 0xa6b2d6b3
je 0x40183c
jmp 0x4010d3
mov eax, dword [esi + 0x10]
sub eax, 0xb165fb4e
je 0x4019a6
jmp 0x4010e6
mov eax, dword [esi + 0x10]
sub eax, 0xb2b7160d
je 0x401608
jmp 0x4010f9
mov eax, dword [esi + 0x10]
sub eax, 0xb402452d
je 0x401623
jmp 0x40110c
mov eax, dword [esi + 0x10]
sub eax, 0xb4a143fb
je 0x4014d4
jmp 0x40111f
mov eax, dword [esi + 0x10]
sub eax, 0xb6d77230
je 0x4015a2
jmp 0x401132
mov eax, dword [esi + 0x10]
sub eax, 0xca71327c
je 0x40199a
jmp 0x401145
mov eax, dword [esi + 0x10]
sub eax, 0xcc5457d2
je 0x40155c
jmp 0x401158
mov eax, dword [esi + 0x10]
sub eax, 0xccf000a9
je 0x401754
jmp 0x40116b
mov eax, dword [esi + 0x10]
sub eax, 0xe38b718e
je 0x401679
jmp 0x40117e
mov eax, dword [esi + 0x10]
sub eax, 0xfaa2e78c
je 0x4018af
jmp 0x401191
mov eax, dword [esi + 0x10]
sub eax, 0x69e737c
je 0x4019b5
jmp 0x4011a4
mov eax, dword [esi + 0x10]
sub eax, 0x10e39893
je 0x401664
jmp 0x4011b7
mov eax, dword [esi + 0x10]
sub eax, 0x1b5b1da7
je 0x401461
jmp 0x4011ca
mov eax, dword [esi + 0x10]
sub eax, 0x1d5f286b
je 0x4017ae
jmp 0x4011dd
mov eax, dword [esi + 0x10]
sub eax, 0x1e4d17db
je 0x401821
jmp 0x4011f0
mov eax, dword [esi + 0x10]
sub eax, 0x2cc6fb9e
je 0x4016f8
jmp 0x401203
mov eax, dword [esi + 0x10]
sub eax, 0x3c113b14
je 0x401926
jmp 0x401216
mov eax, dword [esi + 0x10]
sub eax, 0x3ebeebe3
je 0x401550
jmp 0x401229
mov eax, dword [esi + 0x10]
sub eax, 0x43602835
je 0x4012ff
jmp 0x40123c
mov eax, dword [esi + 0x10]
sub eax, 0x48154834
je 0x40134f
jmp 0x40124f
mov eax, dword [esi + 0x10]
sub eax, 0x4a3c1162
je 0x401685
jmp 0x401262
mov eax, dword [esi + 0x10]
sub eax, 0x4c5a9905
je 0x4015e8
jmp 0x401275
mov eax, dword [esi + 0x10]
sub eax, 0x5070f640
je 0x40164c
jmp 0x401288
mov eax, dword [esi + 0x10]
sub eax, 0x592d60de
je 0x401658
jmp 0x40129b
mov eax, dword [esi + 0x10]
sub eax, 0x5bcedde3
je 0x401971
jmp 0x4012ae
mov eax, dword [esi + 0x10]
sub eax, 0x5c0a59bf
je 0x40162f
jmp 0x4012c1
mov eax, dword [esi + 0x10]
sub eax, 0x65c57f0b
je 0x401985
jmp 0x4012d4
mov eax, dword [esi + 0x10]
sub eax, 0x697a5222
je 0x40191a
jmp 0x4012e7
mov eax, dword [esi + 0x10]
sub eax, 0x699ed1a1
je 0x4015f4
jmp 0x4012fa
jmp 0x4019c8
push eax
mov eax, esp
mov dword [esi + 0x2c], eax
push eax
mov eax, esp
mov dword [esi + 0x30], eax
push eax
mov eax, esp
mov dword [esi + 0x34], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x38], eax
push eax
mov eax, esp
mov dword [esi + 0x3c], eax
push eax
mov eax, esp
mov dword [esi + 0x40], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x44], eax
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x48], eax
mov dword [esi + 0x1c], 0x48154834
jmp 0x4019c8
mov eax, dword [esi + 0x14]
mov cl, byte [esi + 0x1b]
mov dl, byte [esi + 0x1a]
push eax
sub esp, 0x14
mov edi, esp
mov dword [esi + 8], edi
sub esp, 0x18
mov edi, esp
mov dword [esi + 4], edi
push eax
mov edi, esp
mov dword [esi + 0x4c], edi
push eax
mov edi, esp
mov dword [esi + 0x50], edi
and dl, 1
mov byte [esi + 0x2b], dl
and cl, 1
mov byte [esi + 0x2a], cl
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], 0x1012
lea ecx, [esi + 0x60]
lea eax, [0x43a2c0]
sub esp, 4
mov dword [esp], eax
call fcn.00420a20
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0x2c]
mov byte [eax], 0
mov eax, dword [esi + 0x30]
mov dword [eax], 0x10bd
mov eax, dword [esi + 0x34]
mov dword [eax], 0xd97
mov eax, dword [esi + 0x38]
vmovsd xmm0, qword [0x43a1b0]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x3c]
mov dword [eax], 0x676
mov eax, dword [esi + 0x40]
mov byte [eax], 1
mov eax, dword [esi + 0x44]
vmovsd xmm0, qword [0x43a1a8]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x48]
vmovsd xmm0, qword [0x43a1a0]
vmovsd qword [eax], xmm0
lea eax, [0x43a2c0]
sub esp, 4
mov dword [esp], eax
call fcn.00420a20
mov ecx, dword [esi + 4]
lea eax, [0x43a2c0]
sub esp, 4
mov dword [esp], eax
call fcn.00420a20
mov ecx, dword [esi + 4]
mov eax, dword [esi + 8]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00420bf0
mov ecx, dword [esi + 4]
add esp, 8
mov byte [esi + 0xf], al
call fcn.00420df0
mov ecx, dword [esi + 8]
call fcn.00420df0
mov dl, byte [esi + 0xf]
mov eax, 0x10e39893
mov ecx, 0x1b5b1da7
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x4019c8
mov ecx, dword [0x44263c]
mov eax, dword [0x442638]
mov edx, ecx
add edx, 0x64e1631b
sub edx, 1
sub edx, 0x64e1631b
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, 0x65c57f0b
mov ecx, 0xb4a143fb
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x4019c8
mov eax, dword [esi + 0x4c]
mov dword [eax], 1
mov ecx, dword [0x44263c]
mov eax, dword [0x442638]
mov edx, ecx
sub edx, 0xdc354986
sub edx, 1
add edx, 0xdc354986
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, 0x65c57f0b
mov ecx, 0x3ebeebe3
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x4019c8
mov dword [esi + 0x1c], 0xcc5457d2
jmp 0x4019c8
mov eax, dword [0x44263c]
mov ecx, dword [0x442638]
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, 0xca71327c
mov ecx, 0xb6d77230
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x4019c8
mov eax, dword [0x44263c]
mov ecx, dword [0x442638]
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, 0xca71327c
mov ecx, 0x4c5a9905
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x4019c8
mov dword [esi + 0x1c], 0x699ed1a1
jmp 0x4019c8
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov dword [esi + 0x54], eax
mov dword [esi + 0x1c], 0xb2b7160d
jmp 0x4019c8
mov edx, dword [esi + 0x54]
mov eax, 0x592d60de
mov ecx, 0xb402452d
cmp edx, 0
cmovg eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x4019c8
mov dword [esi + 0x1c], 0x5c0a59bf
jmp 0x4019c8
mov eax, dword [esi + 0x4c]
mov ecx, dword [eax]
xor eax, eax
sub eax, 0xffffffff
sub ecx, eax
mov eax, dword [esi + 0x4c]
mov dword [eax], ecx
mov dword [esi + 0x1c], 0x5070f640
jmp 0x4019c8
mov dword [esi + 0x1c], 0x699ed1a1
jmp 0x4019c8
mov dword [esi + 0x1c], 0x10e39893
jmp 0x4019c8
mov eax, dword [esi + 0x50]
mov dword [eax], 0x3a
mov dword [esi + 0x1c], 0xe38b718e
jmp 0x4019c8
mov dword [esi + 0x1c], 0x4a3c1162
jmp 0x4019c8
mov ecx, dword [0x44263c]
mov eax, dword [0x442638]
mov edx, ecx
add edx, 0xae48e1e2
sub edx, 1
sub edx, 0xae48e1e2
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, 0xb165fb4e
mov ecx, 0x2cc6fb9e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x4019c8
mov eax, dword [esi + 0x50]
cmp dword [eax], 0
setg al
and al, 1
mov byte [esi + 0x5b], al
mov eax, dword [0x44263c]
mov ecx, dword [0x442638]
mov edx, eax
sub edx, 0xfe72574f
sub edx, 1
add edx, 0xfe72574f
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, 0xb165fb4e
mov ecx, 0xccf000a9
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x4019c8
mov dword [esi + 0x1c], 0x93d5673e
jmp 0x4019c8
mov eax, dword [0x44263c]
mov ecx, dword [0x442638]
mov edx, eax
sub edx, 0xd4726f0d
sub edx, 1
add edx, 0xd4726f0d
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, 0x69e737c
mov ecx, 0x1d5f286b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x4019c8
mov ecx, dword [0x44263c]
mov eax, dword [0x442638]
mov edx, ecx
sub edx, 0xa4ac6e9f
sub edx, 1
add edx, 0xa4ac6e9f
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, 0x69e737c
mov ecx, 0x1e4d17db
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x4019c8
mov dl, byte [esi + 0x5b]
mov eax, 0x8853bef6
mov ecx, 0xa6b2d6b3
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x4019c8
mov ecx, dword [0x44263c]
mov eax, dword [0x442638]
mov edx, ecx
sub edx, 0xd427b92a
sub edx, 1
add edx, 0xd427b92a
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, 0x8bad63d3
mov ecx, 0xfaa2e78c
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x4019c8
mov ecx, dword [0x44263c]
mov eax, dword [0x442638]
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, 0x8bad63d3
mov ecx, 0x697a5222
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x4019c8
mov dword [esi + 0x1c], 0x3c113b14
jmp 0x4019c8
mov eax, dword [esi + 0x50]
mov eax, dword [eax]
mov dword [esi + 0x5c], eax
mov dword [esi + 0x1c], 0x8779f283
jmp 0x4019c8
mov ecx, dword [esi + 0x5c]
add ecx, 0xacde853f
add ecx, 0xffffffff
sub ecx, 0xacde853f
mov eax, dword [esi + 0x50]
mov dword [eax], ecx
mov dword [esi + 0x1c], 0x4a3c1162
jmp 0x4019c8
lea ecx, [esi + 0x60]
call fcn.00420df0
mov dword [esi + 0x1c], 0x5bcedde3
jmp 0x4019c8
mov ecx, dword [esi + 0x78]
xor ecx, ebp
call fcn.0042b2c0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
mov eax, dword [esi + 0x4c]
mov dword [eax], 1
mov dword [esi + 0x1c], 0xb4a143fb
jmp 0x4019c8
mov dword [esi + 0x1c], 0xb6d77230
jmp 0x4019c8
mov eax, dword [esi + 0x50]
mov dword [esi + 0x1c], 0x2cc6fb9e
jmp 0x4019c8
mov dword [esi + 0x1c], 0x1d5f286b
jmp 0x4019c8
mov dword [esi + 0x1c], 0xfaa2e78c
jmp 0x401071