Function at 0x409120
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 [0x43c080]
xor eax, ebp
mov dword [esi + 0x78], eax
mov ecx, dword [0x43d56c]
mov eax, dword [0x43d568]
mov edx, ecx
sub edx, 0x8d0bb916
sub edx, 1
add edx, 0x8d0bb916
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [esi + 0x1a], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [esi + 0x1b], al
mov dword [esi + 0x14], 0x9949d1af
mov eax, dword [esi + 0x14]
mov dword [esi + 4], eax
sub eax, 0x86fef1c9
je 0x409827
jmp 0x40919a
mov eax, dword [esi + 4]
sub eax, 0x8fcf3035
je 0x409c68
jmp 0x4091ad
mov eax, dword [esi + 4]
sub eax, 0x926f5a23
je 0x409b57
jmp 0x4091c0
mov eax, dword [esi + 4]
sub eax, 0x980704a2
je 0x409578
jmp 0x4091d3
mov eax, dword [esi + 4]
sub eax, 0x9833f5f3
je 0x4097b4
jmp 0x4091e6
mov eax, dword [esi + 4]
sub eax, 0x9949d1af
je 0x409484
jmp 0x4091f9
mov eax, dword [esi + 4]
sub eax, 0x9c854ccd
je 0x409713
jmp 0x40920c
mov eax, dword [esi + 4]
sub eax, 0x9dfddfe5
je 0x409990
jmp 0x40921f
mov eax, dword [esi + 4]
sub eax, 0xa2c481eb
je 0x409d1b
jmp 0x409232
mov eax, dword [esi + 4]
sub eax, 0xa6393bc4
je 0x409b4b
jmp 0x409245
mov eax, dword [esi + 4]
sub eax, 0xb27c4ab1
je 0x40984e
jmp 0x409258
mov eax, dword [esi + 4]
sub eax, 0xb454a597
je 0x409707
jmp 0x40926b
mov eax, dword [esi + 4]
sub eax, 0xbd5656e1
je 0x409a21
jmp 0x40927e
mov eax, dword [esi + 4]
sub eax, 0xc0572a29
je 0x409a3c
jmp 0x409291
mov eax, dword [esi + 4]
sub eax, 0xc2e87350
je 0x409a6d
jmp 0x4092a4
mov eax, dword [esi + 4]
sub eax, 0xceb0d337
je 0x409d0f
jmp 0x4092b7
mov eax, dword [esi + 4]
sub eax, 0xdea27aa2
je 0x409921
jmp 0x4092ca
mov eax, dword [esi + 4]
sub eax, 0xe916bddb
je 0x4095ec
jmp 0x4092dd
mov eax, dword [esi + 4]
sub eax, 0xf408a3cb
je 0x409a07
jmp 0x4092f0
mov eax, dword [esi + 4]
sub eax, 0xf6056717
je 0x409c74
jmp 0x409303
mov eax, dword [esi + 4]
sub eax, 0xf66c6175
je 0x4099fb
jmp 0x409316
mov eax, dword [esi + 4]
sub eax, 0xfbc8dc50
je 0x409d2a
jmp 0x409329
mov eax, dword [esi + 4]
sub eax, 0xfebddac1
je 0x4094aa
jmp 0x40933c
mov eax, dword [esi + 4]
sub eax, 0x1304b7
je 0x409a48
jmp 0x40934f
mov eax, dword [esi + 4]
sub eax, 0x1a9135f9
je 0x409741
jmp 0x409362
mov eax, dword [esi + 4]
sub eax, 0x2536db90
je 0x409901
jmp 0x409375
mov eax, dword [esi + 4]
sub eax, 0x25ed7295
je 0x409d36
jmp 0x409388
mov eax, dword [esi + 4]
sub eax, 0x2c987163
je 0x409c1b
jmp 0x40939b
mov eax, dword [esi + 4]
sub eax, 0x390b06c0
je 0x409b9d
jmp 0x4093ae
mov eax, dword [esi + 4]
sub eax, 0x3ea4d5f4
je 0x40956c
jmp 0x4093c1
mov eax, dword [esi + 4]
sub eax, 0x40e99d01
je 0x40989c
jmp 0x4093d4
mov eax, dword [esi + 4]
sub eax, 0x4da5b837
je 0x409842
jmp 0x4093e7
mov eax, dword [esi + 4]
sub eax, 0x5253c7fc
je 0x409942
jmp 0x4093fa
mov eax, dword [esi + 4]
sub eax, 0x54df662e
je 0x409ad8
jmp 0x40940d
mov eax, dword [esi + 4]
sub eax, 0x5fd59526
je 0x409c0f
jmp 0x409420
mov eax, dword [esi + 4]
sub eax, 0x61f55615
je 0x40990d
jmp 0x409433
mov eax, dword [esi + 4]
sub eax, 0x68e82217
je 0x409727
jmp 0x409446
mov eax, dword [esi + 4]
sub eax, 0x6a7ec34c
je 0x409d42
jmp 0x409459
mov eax, dword [esi + 4]
sub eax, 0x797d5887
je 0x40959e
jmp 0x40946c
mov eax, dword [esi + 4]
sub eax, 0x7ea49324
je 0x40992d
jmp 0x40947f
jmp 0x409d6d
mov al, byte [esi + 0x1a]
mov cl, byte [esi + 0x1b]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x8fcf3035
mov ecx, 0xfebddac1
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x409d6d
push eax
mov eax, esp
mov dword [esi + 0x1c], eax
push eax
mov eax, esp
mov dword [esi + 0x20], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x24], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x28], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
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
push eax
mov eax, esp
mov dword [esi + 0x38], eax
push eax
mov eax, esp
mov dword [esi + 0x3c], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x40], eax
push eax
sub esp, 0x14
mov eax, esp
mov dword [esi + 0x44], eax
mov ecx, dword [0x43d56c]
mov eax, dword [0x43d568]
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, 0x8fcf3035
mov ecx, 0x3ea4d5f4
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x409d6d
mov dword [esi + 0x14], 0x980704a2
jmp 0x409d6d
mov eax, dword [esi + 0xc]
push eax
mov ecx, esp
mov dword [esi + 0x48], ecx
push eax
mov ecx, esp
mov dword [esi + 0x4c], ecx
mov ecx, dword [eax]
mov dword [esi + 0x50], ecx
add eax, 4
mov dword [esi + 0x54], eax
mov dword [esi + 0x14], 0x797d5887
jmp 0x409d6d
mov eax, dword [0x43d56c]
mov ecx, dword [0x43d568]
mov edx, eax
sub edx, 0xf0d11bd1
sub edx, 1
add edx, 0xf0d11bd1
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, 0xf6056717
mov ecx, 0xe916bddb
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x409d6d
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0xc]
mov edx, eax
add edx, 0x20
mov dword [esi + 0x58], edx
mov edx, eax
add edx, 0x38
mov dword [esi + 0x5c], edx
mov edx, eax
add edx, 0x50
mov dword [esi + 0x60], edx
add eax, 0x68
mov dword [esi + 0x64], eax
mov eax, dword [esi + 0x1c]
mov dword [eax], ecx
mov eax, dword [esi + 0x1c]
mov eax, dword [esi + 0x20]
mov byte [eax], 0
mov ecx, dword [esi + 0x24]
lea eax, [0x434957]
sub esp, 4
mov dword [esp], eax
call fcn.0041a680
mov ecx, dword [esi + 0x28]
lea eax, str.brualfyokp
sub esp, 4
mov dword [esp], eax
call fcn.0041a680
mov eax, dword [esi + 0x2c]
vmovsd xmm0, qword [0x434218]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x30]
mov byte [eax], 0
mov eax, dword [esi + 0x34]
mov byte [eax], 0
mov eax, dword [esi + 0x38]
mov dword [eax], 0x239
mov eax, dword [esi + 0x3c]
mov byte [eax], 1
mov eax, dword [esi + 0x40]
vmovsd xmm0, qword [0x434210]
vmovsd qword [eax], xmm0
mov ecx, dword [esi + 0x44]
lea eax, str.sssoplkpydlhbxjjlxxfcixumvujntngdijuzilz
sub esp, 4
mov dword [esp], eax
call fcn.0041a680
mov eax, dword [esi + 0x48]
mov dword [eax], 0x52
mov ecx, dword [0x43d56c]
mov eax, dword [0x43d568]
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, 0xf6056717
mov ecx, 0xb454a597
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x409d6d
mov dword [esi + 0x14], 0x9c854ccd
jmp 0x409d6d
mov eax, dword [esi + 0x48]
mov eax, dword [eax]
mov dword [esi + 0x68], eax
mov dword [esi + 0x14], 0x68e82217
jmp 0x409d6d
mov eax, dword [esi + 0x68]
cmp eax, 0
setg al
and al, 1
mov byte [esi + 0x6f], al
mov dword [esi + 0x14], 0x1a9135f9
jmp 0x409d6d
mov ecx, dword [0x43d56c]
mov eax, dword [0x43d568]
mov edx, ecx
add edx, 0x42a545c3
sub edx, 1
sub edx, 0x42a545c3
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, 0xceb0d337
mov ecx, 0x9833f5f3
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x409d6d
mov ecx, dword [0x43d56c]
mov eax, dword [0x43d568]
mov edx, ecx
sub edx, 0x3b672e8b
sub edx, 1
add edx, 0x3b672e8b
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, 0xceb0d337
mov ecx, 0x86fef1c9
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x409d6d
mov dl, byte [esi + 0x6f]
mov eax, 0x7ea49324
mov ecx, 0x4da5b837
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x409d6d
mov dword [esi + 0x14], 0xb27c4ab1
jmp 0x409d6d
mov eax, dword [0x43d56c]
mov ecx, dword [0x43d568]
mov edx, eax
sub edx, 0x42e4515e
sub edx, 1
add edx, 0x42e4515e
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, 0xa2c481eb
mov ecx, 0x40e99d01
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x409d6d
mov eax, dword [esi + 0x48]
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 + 0x70], eax
mov eax, dword [0x43d56c]
mov ecx, dword [0x43d568]
mov edx, eax
add edx, 0x955e9cc8
sub edx, 1
sub edx, 0x955e9cc8
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, 0xa2c481eb
mov ecx, 0x2536db90
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x409d6d
mov dword [esi + 0x14], 0x61f55615
jmp 0x409d6d
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x70]
mov dword [eax], ecx
mov dword [esi + 0x14], 0xdea27aa2
jmp 0x409d6d
mov dword [esi + 0x14], 0x9c854ccd
jmp 0x409d6d
mov eax, dword [esi + 0x4c]
mov dword [eax], 0x61
mov dword [esi + 0x14], 0x5253c7fc
jmp 0x409d6d
mov eax, dword [0x43d56c]
mov ecx, dword [0x43d568]
mov edx, eax
sub edx, 0x3d8a59b
sub edx, 1
add edx, 0x3d8a59b
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, 0xfbc8dc50
mov ecx, 0x9dfddfe5
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x409d6d
mov ecx, dword [0x43d56c]
mov eax, dword [0x43d568]
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, 0xfbc8dc50
mov ecx, 0xf66c6175
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x409d6d
mov dword [esi + 0x14], 0xf408a3cb
jmp 0x409d6d
mov eax, dword [esi + 0x4c]
cmp dword [eax], 0
setg al
and al, 1
mov byte [esi + 0x77], al
mov dword [esi + 0x14], 0xbd5656e1
jmp 0x409d6d
mov dl, byte [esi + 0x77]
mov eax, 0x926f5a23
mov ecx, 0xc0572a29
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x409d6d
mov dword [esi + 0x14], 0x1304b7
jmp 0x409d6d
mov eax, dword [esi + 0x4c]
mov ecx, dword [eax]
sub ecx, 0x42a1aaa3
add ecx, 0xffffffff
add ecx, 0x42a1aaa3
mov eax, dword [esi + 0x4c]
mov dword [eax], ecx
mov dword [esi + 0x14], 0xc2e87350
jmp 0x409d6d
mov ecx, dword [0x43d56c]
mov eax, dword [0x43d568]
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, 0x25ed7295
mov ecx, 0x54df662e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x409d6d
mov ecx, dword [0x43d56c]
mov eax, dword [0x43d568]
mov edx, ecx
add edx, 0x685799dc
sub edx, 1
sub edx, 0x685799dc
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, 0x25ed7295
mov ecx, 0xa6393bc4
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x409d6d
mov dword [esi + 0x14], 0xf408a3cb
jmp 0x409d6d
mov eax, dword [0x43d56c]
mov ecx, dword [0x43d568]
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, 0x6a7ec34c
mov ecx, 0x390b06c0
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x409d6d
mov ecx, dword [esi + 0x50]
lea eax, str.gvhishvnuiykcncpv
sub esp, 4
mov dword [esp], eax
call fcn.0041a680
mov ecx, dword [esi + 0x44]
call fcn.0041a8d0
mov ecx, dword [esi + 0x28]
call fcn.0041a8d0
mov eax, dword [0x43d56c]
mov ecx, dword [0x43d568]
mov edx, eax
add edx, 0x7917e4c0
sub edx, 1
sub edx, 0x7917e4c0
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, 0x6a7ec34c
mov ecx, 0x5fd59526
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x14], eax
jmp 0x409d6d
mov dword [esi + 0x14], 0x2c987163
jmp 0x409d6d
mov ecx, dword [esi + 0x24]
call fcn.0041a8d0
mov ecx, dword [esi + 0x54]
call fcn.0041a8d0
mov ecx, dword [esi + 0x58]
call fcn.0041a8d0
mov ecx, dword [esi + 0x5c]
call fcn.0041a8d0
mov ecx, dword [esi + 0x60]
call fcn.0041a8d0
mov ecx, dword [esi + 0x64]
call fcn.0041a8d0
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [esi], eax
mov ecx, dword [esi + 0x78]
xor ecx, ebp
call fcn.00424630
mov eax, dword [esi]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x80
mov dword [esi + 0x14], 0xfebddac1
jmp 0x409d6d
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0x1c]
mov dword [eax], ecx
mov eax, dword [esi + 0x1c]
mov eax, dword [esi + 0x20]
mov byte [eax], 0
mov ecx, dword [esi + 0x24]
lea eax, [0x434957]
sub esp, 4
mov dword [esp], eax
call fcn.0041a680
mov ecx, dword [esi + 0x28]
lea eax, str.brualfyokp
sub esp, 4
mov dword [esp], eax
call fcn.0041a680
mov eax, dword [esi + 0x2c]
vmovsd xmm0, qword [0x434218]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x30]
mov byte [eax], 0
mov eax, dword [esi + 0x34]
mov byte [eax], 0
mov eax, dword [esi + 0x38]
mov dword [eax], 0x239
mov eax, dword [esi + 0x3c]
mov byte [eax], 1
mov eax, dword [esi + 0x40]
vmovsd xmm0, qword [0x434210]
vmovsd qword [eax], xmm0
mov ecx, dword [esi + 0x44]
lea eax, str.sssoplkpydlhbxjjlxxfcixumvujntngdijuzilz
sub esp, 4
mov dword [esp], eax
call fcn.0041a680
mov eax, dword [esi + 0x48]
mov dword [eax], 0x52
mov dword [esi + 0x14], 0xe916bddb
jmp 0x409d6d
mov dword [esi + 0x14], 0x9833f5f3
jmp 0x409d6d
mov eax, dword [esi + 0x48]
mov dword [esi + 0x14], 0x40e99d01
jmp 0x409d6d
mov dword [esi + 0x14], 0x9dfddfe5
jmp 0x409d6d
mov dword [esi + 0x14], 0x54df662e
jmp 0x409d6d
mov ecx, dword [esi + 0x50]
lea eax, str.gvhishvnuiykcncpv
sub esp, 4
mov dword [esp], eax
call fcn.0041a680
mov ecx, dword [esi + 0x44]
call fcn.0041a8d0
mov ecx, dword [esi + 0x28]
call fcn.0041a8d0
mov dword [esi + 0x14], 0x390b06c0
jmp 0x409184