Function at 0x40a520
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 + 8], ecx
lea eax, [ebp + 8]
mov dword [esi + 0xc], eax
mov eax, dword [0x43d080]
xor eax, ebp
mov dword [esi + 0x78], eax
mov dword [esi + 0x10], 0xd23b645a
mov eax, dword [esi + 0x10]
mov dword [esi + 4], eax
sub eax, 0x8240b4a3
je 0x40adc7
jmp 0x40a561
mov eax, dword [esi + 4]
sub eax, 0x841a69c8
je 0x40ad2b
jmp 0x40a574
mov eax, dword [esi + 4]
sub eax, 0x85deec2c
je 0x40ac10
jmp 0x40a587
mov eax, dword [esi + 4]
sub eax, 0x866c8b21
je 0x40adac
jmp 0x40a59a
mov eax, dword [esi + 4]
sub eax, 0x8991f96b
je 0x40af71
jmp 0x40a5ad
mov eax, dword [esi + 4]
sub eax, 0x8d0d43f9
je 0x40af23
jmp 0x40a5c0
mov eax, dword [esi + 4]
sub eax, 0x90e709e6
je 0x40acdd
jmp 0x40a5d3
mov eax, dword [esi + 4]
sub eax, 0xa213b4da
je 0x40ac56
jmp 0x40a5e6
mov eax, dword [esi + 4]
sub eax, 0xabc0ae2e
je 0x40af53
jmp 0x40a5f9
mov eax, dword [esi + 4]
sub eax, 0xb5e5d701
je 0x40ac04
jmp 0x40a60c
mov eax, dword [esi + 4]
sub eax, 0xb797eacf
je 0x40af62
jmp 0x40a61f
mov eax, dword [esi + 4]
sub eax, 0xb80c41b5
je 0x40ab18
jmp 0x40a632
mov eax, dword [esi + 4]
sub eax, 0xc31af3ee
je 0x40a92c
jmp 0x40a645
mov eax, dword [esi + 4]
sub eax, 0xd23b645a
je 0x40a7ff
jmp 0x40a658
mov eax, dword [esi + 4]
sub eax, 0xe4fa404d
je 0x40aaf1
jmp 0x40a66b
mov eax, dword [esi + 4]
sub eax, 0xea7e61e6
je 0x40add3
jmp 0x40a67e
mov eax, dword [esi + 4]
sub eax, 0xed482e81
je 0x40a997
jmp 0x40a691
mov eax, dword [esi + 4]
sub eax, 0xf9a5d255
je 0x40ae92
jmp 0x40a6a4
mov eax, dword [esi + 4]
sub eax, 0x10746a1
je 0x40aef6
jmp 0x40a6b7
mov eax, dword [esi + 4]
sub eax, 0xd6a133c
je 0x40a9ed
jmp 0x40a6ca
mov eax, dword [esi + 4]
sub eax, 0xe6d80d2
je 0x40abf8
jmp 0x40a6dd
mov eax, dword [esi + 4]
sub eax, 0x1c2992ec
je 0x40ab4f
jmp 0x40a6f0
mov eax, dword [esi + 4]
sub eax, 0x23473b41
je 0x40ae86
jmp 0x40a703
mov eax, dword [esi + 4]
sub eax, 0x28305ffc
je 0x40acd1
jmp 0x40a716
mov eax, dword [esi + 4]
sub eax, 0x28faae99
je 0x40aba9
jmp 0x40a729
mov eax, dword [esi + 4]
sub eax, 0x30880174
je 0x40ae21
jmp 0x40a73c
mov eax, dword [esi + 4]
sub eax, 0x3a4a3f7a
je 0x40a85c
jmp 0x40a74f
mov eax, dword [esi + 4]
sub eax, 0x458b068a
je 0x40aa7e
jmp 0x40a762
mov eax, dword [esi + 4]
sub eax, 0x4d248696
je 0x40aea6
jmp 0x40a775
mov eax, dword [esi + 4]
sub eax, 0x4db9ff0f
je 0x40ab0c
jmp 0x40a788
mov eax, dword [esi + 4]
sub eax, 0x5909bb3a
je 0x40ab2c
jmp 0x40a79b
mov eax, dword [esi + 4]
sub eax, 0x672e17e4
je 0x40aa13
jmp 0x40a7ae
mov eax, dword [esi + 4]
sub eax, 0x732059b3
je 0x40ab5b
jmp 0x40a7c1
mov eax, dword [esi + 4]
sub eax, 0x75c8cee1
je 0x40a9f9
jmp 0x40a7d4
mov eax, dword [esi + 4]
sub eax, 0x7681a89f
je 0x40af32
jmp 0x40a7e7
mov eax, dword [esi + 4]
sub eax, 0x78bc073c
je 0x40af3e
jmp 0x40a7fa
jmp 0x40af7b
push eax
mov eax, esp
mov dword [esi + 0x18], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x1c], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x20], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x24], eax
push eax
mov eax, esp
mov dword [esi + 0x28], eax
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
sub esp, 0x14
mov eax, esp
mov dword [esi + 0x3c], eax
mov dword [esi + 0x10], 0x3a4a3f7a
jmp 0x40af7b
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
push eax
mov edx, esp
mov dword [esi + 0x40], edx
push eax
mov edx, esp
mov dword [esi + 0x44], edx
mov edx, dword [ecx]
mov dword [esi + 0x48], edx
mov edx, ecx
add edx, 4
mov dword [esi + 0x4c], edx
mov edx, ecx
add edx, 0x20
mov dword [esi + 0x50], edx
mov edx, ecx
add edx, 0x38
mov dword [esi + 0x54], edx
mov edx, ecx
add edx, 0x50
mov dword [esi + 0x58], edx
add ecx, 0x68
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x18]
mov byte [eax], 0
mov ecx, dword [esi + 0x1c]
lea eax, [0x435947]
sub esp, 4
mov dword [esp], eax
call fcn.0041b320
mov ecx, dword [esi + 0x20]
lea eax, str.brualfyokp
sub esp, 4
mov dword [esp], eax
call fcn.0041b320
mov eax, dword [esi + 0x24]
vmovsd xmm0, qword [0x435218]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x28]
mov byte [eax], 0
mov eax, dword [esi + 0x2c]
mov byte [eax], 0
mov eax, dword [esi + 0x30]
mov dword [eax], 0x239
mov eax, dword [esi + 0x34]
mov byte [eax], 1
mov eax, dword [esi + 0x38]
vmovsd xmm0, qword [0x435210]
vmovsd qword [eax], xmm0
mov ecx, dword [esi + 0x3c]
lea eax, str.sssoplkpydlhbxjjlxxfcixumvujntngdijuzilz
sub esp, 4
mov dword [esp], eax
call fcn.0041b320
mov eax, dword [esi + 0x40]
mov dword [eax], 0x52
mov dword [esi + 0x10], 0xc31af3ee
jmp 0x40af7b
mov ecx, dword [0x43e57c]
mov eax, dword [0x43e578]
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, 0x8d0d43f9
mov ecx, 0xed482e81
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40af7b
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
mov dword [esi + 0x60], eax
mov eax, dword [0x43e57c]
mov ecx, dword [0x43e578]
mov edx, eax
add edx, 0x727c252a
sub edx, 1
sub edx, 0x727c252a
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, 0x8d0d43f9
mov ecx, 0xd6a133c
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40af7b
mov dword [esi + 0x10], 0x75c8cee1
jmp 0x40af7b
mov eax, dword [esi + 0x60]
cmp eax, 0
setg al
and al, 1
mov byte [esi + 0x67], al
mov dword [esi + 0x10], 0x672e17e4
jmp 0x40af7b
mov ecx, dword [0x43e57c]
mov eax, dword [0x43e578]
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, 0x7681a89f
mov ecx, 0x458b068a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40af7b
mov ecx, dword [0x43e57c]
mov eax, dword [0x43e578]
mov edx, ecx
add edx, 0xf215020
sub edx, 1
sub edx, 0xf215020
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, 0x7681a89f
mov ecx, 0xe4fa404d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40af7b
mov dl, byte [esi + 0x67]
mov eax, 0x732059b3
mov ecx, 0x4db9ff0f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40af7b
mov dword [esi + 0x10], 0xb80c41b5
jmp 0x40af7b
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
mov dword [esi + 0x68], eax
mov dword [esi + 0x10], 0x5909bb3a
jmp 0x40af7b
mov ecx, dword [esi + 0x68]
sub ecx, 0xe38d91c0
add ecx, 0xffffffff
add ecx, 0xe38d91c0
mov eax, dword [esi + 0x40]
mov dword [eax], ecx
mov dword [esi + 0x10], 0x1c2992ec
jmp 0x40af7b
mov dword [esi + 0x10], 0xc31af3ee
jmp 0x40af7b
mov eax, dword [0x43e57c]
mov ecx, dword [0x43e578]
mov edx, eax
sub edx, 0x95a2c654
sub edx, 1
add edx, 0x95a2c654
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, 0x78bc073c
mov ecx, 0x28faae99
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40af7b
mov eax, dword [esi + 0x44]
mov dword [eax], 0x61
mov eax, dword [0x43e57c]
mov ecx, dword [0x43e578]
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, 0x78bc073c
mov ecx, 0xe6d80d2
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40af7b
mov dword [esi + 0x10], 0xb5e5d701
jmp 0x40af7b
mov dword [esi + 0x10], 0x85deec2c
jmp 0x40af7b
mov eax, dword [0x43e57c]
mov ecx, dword [0x43e578]
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, 0xabc0ae2e
mov ecx, 0xa213b4da
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40af7b
mov eax, dword [esi + 0x44]
mov eax, dword [eax]
mov dword [esi + 0x6c], eax
mov ecx, dword [0x43e57c]
mov eax, dword [0x43e578]
mov edx, ecx
add edx, 0x11433dd0
sub edx, 1
sub edx, 0x11433dd0
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, 0xabc0ae2e
mov ecx, 0x28305ffc
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40af7b
mov dword [esi + 0x10], 0x90e709e6
jmp 0x40af7b
mov eax, dword [0x43e57c]
mov ecx, dword [0x43e578]
mov edx, eax
sub edx, 0x646aebdf
sub edx, 1
add edx, 0x646aebdf
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, 0xb797eacf
mov ecx, 0x841a69c8
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40af7b
mov eax, dword [esi + 0x6c]
cmp eax, 0
setg al
and al, 1
mov byte [esi + 0x73], al
mov ecx, dword [0x43e57c]
mov eax, dword [0x43e578]
mov edx, ecx
add edx, 0xecdc779b
sub edx, 1
sub edx, 0xecdc779b
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, 0xb797eacf
mov ecx, 0x866c8b21
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40af7b
mov dl, byte [esi + 0x73]
mov eax, 0x4d248696
mov ecx, 0x8240b4a3
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40af7b
mov dword [esi + 0x10], 0xea7e61e6
jmp 0x40af7b
mov eax, dword [0x43e57c]
mov ecx, dword [0x43e578]
mov edx, eax
add edx, 0xa124e8e1
sub edx, 1
sub edx, 0xa124e8e1
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, 0x8991f96b
mov ecx, 0x30880174
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40af7b
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 + 0x74], eax
mov eax, dword [0x43e57c]
mov ecx, dword [0x43e578]
mov edx, eax
add edx, 0x1ed1cb7
sub edx, 1
sub edx, 0x1ed1cb7
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, 0x8991f96b
mov ecx, 0x23473b41
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40af7b
mov dword [esi + 0x10], 0xf9a5d255
jmp 0x40af7b
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x74]
mov dword [eax], ecx
mov dword [esi + 0x10], 0x85deec2c
jmp 0x40af7b
mov ecx, dword [esi + 0x48]
lea eax, str.gvhishvnuiykcncpv
sub esp, 4
mov dword [esp], eax
call fcn.0041b320
mov ecx, dword [esi + 0x3c]
call fcn.0041b540
mov ecx, dword [esi + 0x20]
call fcn.0041b540
mov ecx, dword [esi + 0x1c]
call fcn.0041b540
mov ecx, dword [esi + 0x4c]
call fcn.0041b540
mov ecx, dword [esi + 0x50]
call fcn.0041b540
mov ecx, dword [esi + 0x54]
call fcn.0041b540
mov dword [esi + 0x10], 0x10746a1
jmp 0x40af7b
mov ecx, dword [esi + 0x58]
call fcn.0041b540
mov ecx, dword [esi + 0x5c]
call fcn.0041b540
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [esi], eax
mov ecx, dword [esi + 0x78]
xor ecx, ebp
call fcn.00425ad0
mov eax, dword [esi]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x80
mov eax, dword [esi + 0x40]
mov dword [esi + 0x10], 0xed482e81
jmp 0x40af7b
mov dword [esi + 0x10], 0x458b068a
jmp 0x40af7b
mov eax, dword [esi + 0x44]
mov dword [eax], 0x61
mov dword [esi + 0x10], 0x28faae99
jmp 0x40af7b
mov eax, dword [esi + 0x44]
mov dword [esi + 0x10], 0xa213b4da
jmp 0x40af7b
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x10], 0x841a69c8
jmp 0x40af7b
mov eax, dword [esi + 0x44]
mov dword [esi + 0x10], 0x30880174
jmp 0x40a54b