Function at 0x405490
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 + 0x18], ecx
lea eax, [ebp + 8]
mov dword [esi + 0x1c], eax
mov eax, dword [0x52d080]
xor eax, ebp
mov dword [esi + 0x78], eax
mov dword [esi + 0x20], 0x9a8e14dc
mov eax, dword [esi + 0x20]
mov dword [esi + 0x14], eax
sub eax, 0x8167da60
je 0x4059de
jmp 0x4054d1
mov eax, dword [esi + 0x14]
sub eax, 0x896fa29a
je 0x405701
jmp 0x4054e4
mov eax, dword [esi + 0x14]
sub eax, 0x8d47b372
je 0x405909
jmp 0x4054f7
mov eax, dword [esi + 0x14]
sub eax, 0x9a8e14dc
je 0x405652
jmp 0x40550a
mov eax, dword [esi + 0x14]
sub eax, 0xa398251f
je 0x405bfe
jmp 0x40551d
mov eax, dword [esi + 0x14]
sub eax, 0xad4e9e86
je 0x4058ce
jmp 0x405530
mov eax, dword [esi + 0x14]
sub eax, 0xad788025
je 0x40589f
jmp 0x405543
mov eax, dword [esi + 0x14]
sub eax, 0xb6403838
je 0x4059ea
jmp 0x405556
mov eax, dword [esi + 0x14]
sub eax, 0xced51836
je 0x4058da
jmp 0x405569
mov eax, dword [esi + 0x14]
sub eax, 0xcf7d5609
je 0x405bda
jmp 0x40557c
mov eax, dword [esi + 0x14]
sub eax, 0xd5c5372f
je 0x405863
jmp 0x40558f
mov eax, dword [esi + 0x14]
sub eax, 0xe2e9d236
je 0x405ae8
jmp 0x4055a2
mov eax, dword [esi + 0x14]
sub eax, 0xef350280
je 0x40568e
jmp 0x4055b5
mov eax, dword [esi + 0x14]
sub eax, 0xf0f8fbf1
je 0x4058f5
jmp 0x4055c8
mov eax, dword [esi + 0x14]
sub eax, 0xf6bf3735
je 0x405a5d
jmp 0x4055db
mov eax, dword [esi + 0x14]
sub eax, 0xfbfc8a81
je 0x40587e
jmp 0x4055ee
mov eax, dword [esi + 0x14]
sub eax, 0xffb281f8
je 0x40595b
jmp 0x405601
mov eax, dword [esi + 0x14]
sub eax, 0x6b5c105
je 0x405893
jmp 0x405614
mov eax, dword [esi + 0x14]
sub eax, 0x2d8af474
je 0x4058b3
jmp 0x405627
mov eax, dword [esi + 0x14]
sub eax, 0x36145472
je 0x405b07
jmp 0x40563a
mov eax, dword [esi + 0x14]
sub eax, 0x73dff47c
je 0x405915
jmp 0x40564d
jmp 0x405c1d
push eax
sub esp, 0x14
mov eax, esp
mov dword [esi + 0x2c], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x30], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x34], eax
push eax
mov eax, esp
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
mov dword [esi + 0x20], 0xef350280
jmp 0x405c1d
mov ecx, dword [0x52e5c4]
mov eax, dword [0x52e5c0]
mov edx, ecx
add edx, 0x58af6771
sub edx, 1
sub edx, 0x58af6771
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, 0x36145472
mov ecx, 0x896fa29a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20], eax
jmp 0x405c1d
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
push eax
sub esp, 0x14
mov edx, esp
mov dword [esi + 0x10], edx
sub esp, 0x18
mov edx, esp
mov dword [esi + 0xc], edx
push eax
mov edx, esp
mov dword [esi + 0x44], edx
mov edx, ecx
add edx, 0x14
mov dword [esi + 0x48], edx
mov edx, ecx
add edx, 0x30
mov dword [esi + 0x4c], edx
add ecx, 0x50
mov dword [esi + 0x50], ecx
mov dword [esi + 0x28], eax
lea ecx, [esi + 0x60]
lea eax, str.vvmjgaempegiyknubihcflfpvnvoulorrrcngvylnubaehhqnaxfqrdzmbmcuavncnoufsdwjhjmmpmlano
sub esp, 4
mov dword [esp], eax
call fcn.00412930
mov byte [esi + 0x27], 1
mov ecx, dword [esi + 0x2c]
lea eax, str.uugrvyzsjlhwgiwcrtgc
sub esp, 4
mov dword [esp], eax
call fcn.00412930
mov ecx, dword [esi + 0x30]
lea eax, str.gcueocdvowscdljebfjjxmqnuljhcbcvkngntmayefqeoxajhocvqghfmvgusjpcgorgjsglehlzuyowegobkwdo
sub esp, 4
mov dword [esp], eax
call fcn.00412930
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x34]
vmovsd xmm0, qword [0x42c208]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x38]
mov dword [eax], 0x13e3
mov eax, dword [esi + 0x3c]
mov byte [eax], 1
mov eax, dword [esi + 0x40]
mov byte [eax], 0
lea eax, str.gcueocdvowscdljebfjjxmqnuljhcbcvkngntmayefqeoxajhocvqghfmvgusjpcgorgjsglehlzuyowegobkwdo
sub esp, 4
mov dword [esp], eax
call fcn.00412930
mov ecx, dword [esi + 0xc]
lea eax, str.gcueocdvowscdljebfjjxmqnuljhcbcvkngntmayefqeoxajhocvqghfmvgusjpcgorgjsglehlzuyowegobkwdo
sub esp, 4
mov dword [esp], eax
call fcn.00412930
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00412b10
mov ecx, dword [esi + 0xc]
add esp, 8
and al, 1
mov byte [esi + 0x57], al
call fcn.00412ca0
mov ecx, dword [esi + 0x10]
call fcn.00412ca0
mov ecx, dword [0x52e5c4]
mov eax, dword [0x52e5c0]
mov edx, ecx
add edx, 0xa2575013
sub edx, 1
sub edx, 0xa2575013
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, 0x36145472
mov ecx, 0xd5c5372f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20], eax
jmp 0x405c1d
mov dl, byte [esi + 0x57]
mov eax, 0x73dff47c
mov ecx, 0xfbfc8a81
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20], eax
jmp 0x405c1d
mov eax, dword [esi + 0x44]
mov dword [eax], 0x4e
mov dword [esi + 0x20], 0x6b5c105
jmp 0x405c1d
mov dword [esi + 0x20], 0xad788025
jmp 0x405c1d
mov eax, dword [esi + 0x44]
mov eax, dword [eax]
mov dword [esi + 0x58], eax
mov dword [esi + 0x20], 0x2d8af474
jmp 0x405c1d
mov edx, dword [esi + 0x58]
mov eax, 0x8d47b372
mov ecx, 0xad4e9e86
cmp edx, 0
cmovg eax, ecx
mov dword [esi + 0x20], eax
jmp 0x405c1d
mov dword [esi + 0x20], 0xced51836
jmp 0x405c1d
mov eax, dword [esi + 0x44]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, 0xffffffff
sub eax, ecx
mov dword [esi + 0x5c], eax
mov dword [esi + 0x20], 0xf0f8fbf1
jmp 0x405c1d
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x5c]
mov dword [eax], ecx
mov dword [esi + 0x20], 0xad788025
jmp 0x405c1d
mov dword [esi + 0x20], 0x73dff47c
jmp 0x405c1d
mov eax, dword [0x52e5c4]
mov ecx, dword [0x52e5c0]
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, 0xcf7d5609
mov ecx, 0xffb281f8
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20], eax
jmp 0x405c1d
mov ecx, dword [esi + 0x30]
call fcn.00412ca0
mov ecx, dword [esi + 0x2c]
call fcn.00412ca0
lea ecx, [esi + 0x60]
call fcn.00412ca0
mov ecx, dword [0x52e5c4]
mov eax, dword [0x52e5c0]
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, 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, 0xcf7d5609
mov ecx, 0x8167da60
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20], eax
jmp 0x405c1d
mov dword [esi + 0x20], 0xb6403838
jmp 0x405c1d
mov ecx, dword [0x52e5c4]
mov eax, dword [0x52e5c0]
mov edx, ecx
add edx, 0xb1622995
sub edx, 1
sub edx, 0xb1622995
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, 0xa398251f
mov ecx, 0xf6bf3735
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20], eax
jmp 0x405c1d
mov ecx, dword [esi + 0x48]
call fcn.00412ca0
mov ecx, dword [esi + 0x4c]
call fcn.00412ca0
mov ecx, dword [esi + 0x50]
call fcn.00412ca0
mov ecx, dword [0x52e5c4]
mov eax, dword [0x52e5c0]
mov edx, ecx
sub edx, 0x3bb65325
sub edx, 1
add edx, 0x3bb65325
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, 0xa398251f
mov ecx, 0xe2e9d236
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20], eax
jmp 0x405c1d
mov eax, 0x4450
mov dword [esi + 8], eax
mov ecx, dword [esi + 0x78]
xor ecx, ebp
call fcn.0041ca60
mov eax, dword [esi + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x68
mov eax, dword [esi + 0x18]
push eax
sub esp, 0x14
mov ecx, esp
mov dword [esi + 4], ecx
sub esp, 0x18
mov ecx, esp
mov dword [esi], ecx
mov dword [esi + 0x28], eax
lea ecx, [esi + 0x60]
lea eax, str.vvmjgaempegiyknubihcflfpvnvoulorrrcngvylnubaehhqnaxfqrdzmbmcuavncnoufsdwjhjmmpmlano
sub esp, 4
mov dword [esp], eax
call fcn.00412930
mov byte [esi + 0x27], 1
mov ecx, dword [esi + 0x2c]
lea eax, str.uugrvyzsjlhwgiwcrtgc
sub esp, 4
mov dword [esp], eax
call fcn.00412930
mov ecx, dword [esi + 0x30]
lea eax, str.gcueocdvowscdljebfjjxmqnuljhcbcvkngntmayefqeoxajhocvqghfmvgusjpcgorgjsglehlzuyowegobkwdo
sub esp, 4
mov dword [esp], eax
call fcn.00412930
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0x34]
vmovsd xmm0, qword [0x42c208]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x38]
mov dword [eax], 0x13e3
mov eax, dword [esi + 0x3c]
mov byte [eax], 1
mov eax, dword [esi + 0x40]
mov byte [eax], 0
lea eax, str.gcueocdvowscdljebfjjxmqnuljhcbcvkngntmayefqeoxajhocvqghfmvgusjpcgorgjsglehlzuyowegobkwdo
sub esp, 4
mov dword [esp], eax
call fcn.00412930
mov ecx, dword [esi]
lea eax, str.gcueocdvowscdljebfjjxmqnuljhcbcvkngntmayefqeoxajhocvqghfmvgusjpcgorgjsglehlzuyowegobkwdo
sub esp, 4
mov dword [esp], eax
call fcn.00412930
mov ecx, dword [esi]
mov eax, dword [esi + 4]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00412b10
mov ecx, dword [esi]
add esp, 8
call fcn.00412ca0
mov ecx, dword [esi + 4]
call fcn.00412ca0
mov dword [esi + 0x20], 0x896fa29a
jmp 0x405c1d
mov ecx, dword [esi + 0x30]
call fcn.00412ca0
mov ecx, dword [esi + 0x2c]
call fcn.00412ca0
lea ecx, [esi + 0x60]
call fcn.00412ca0
mov dword [esi + 0x20], 0xffb281f8
jmp 0x405c1d
mov ecx, dword [esi + 0x48]
call fcn.00412ca0
mov ecx, dword [esi + 0x4c]
call fcn.00412ca0
mov ecx, dword [esi + 0x50]
call fcn.00412ca0
mov dword [esi + 0x20], 0xf6bf3735
jmp 0x4054bb