Function at 0x409810
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x90
mov esi, esp
mov dword [esi + 0x10], ecx
lea eax, [ebp + 8]
mov dword [esi + 0x14], eax
mov eax, dword [0x4f1080]
xor eax, ebp
mov dword [esi + 0x88], eax
mov ecx, dword [0x4f257c]
mov eax, dword [0x4f2578]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [esi + 0x22], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [esi + 0x23], al
mov dword [esi + 0x1c], 0xcaac0aa6
mov eax, dword [esi + 0x1c]
mov dword [esi + 0xc], eax
sub eax, 0x8079835c
je 0x40a91f
jmp 0x409885
mov eax, dword [esi + 0xc]
sub eax, 0x859266b1
je 0x40a550
jmp 0x409898
mov eax, dword [esi + 0xc]
sub eax, 0x86edc47a
je 0x40acac
jmp 0x4098ab
mov eax, dword [esi + 0xc]
sub eax, 0x872372e7
je 0x40a894
jmp 0x4098be
mov eax, dword [esi + 0xc]
sub eax, 0x8756695c
je 0x409f66
jmp 0x4098d1
mov eax, dword [esi + 0xc]
sub eax, 0x8ec4311b
je 0x40a55c
jmp 0x4098e4
mov eax, dword [esi + 0xc]
sub eax, 0x90b0bf5b
je 0x40a99f
jmp 0x4098f7
mov eax, dword [esi + 0xc]
sub eax, 0x93a893fd
je 0x40a4ca
jmp 0x40990a
mov eax, dword [esi + 0xc]
sub eax, 0x9708d36e
je 0x40a2db
jmp 0x40991d
mov eax, dword [esi + 0xc]
sub eax, 0x985bd52a
je 0x40a520
jmp 0x409930
mov eax, dword [esi + 0xc]
sub eax, 0x9a982328
je 0x40a23b
jmp 0x409943
mov eax, dword [esi + 0xc]
sub eax, 0x9b76f290
je 0x40a62d
jmp 0x409956
mov eax, dword [esi + 0xc]
sub eax, 0x9bad80d7
je 0x40a66a
jmp 0x409969
mov eax, dword [esi + 0xc]
sub eax, 0xa35c7ec7
je 0x40a457
jmp 0x40997c
mov eax, dword [esi + 0xc]
sub eax, 0xa5254c5e
je 0x40a77d
jmp 0x40998f
mov eax, dword [esi + 0xc]
sub eax, 0xabf17a66
je 0x40ad21
jmp 0x4099a2
mov eax, dword [esi + 0xc]
sub eax, 0xb1247057
je 0x40a0b2
jmp 0x4099b5
mov eax, dword [esi + 0xc]
sub eax, 0xb535f244
je 0x40a44b
jmp 0x4099c8
mov eax, dword [esi + 0xc]
sub eax, 0xb7d6cd92
je 0x40a65e
jmp 0x4099db
mov eax, dword [esi + 0xc]
sub eax, 0xbb6eb9fc
je 0x40a0fb
jmp 0x4099ee
mov eax, dword [esi + 0xc]
sub eax, 0xbc414847
je 0x40a8ee
jmp 0x409a01
mov eax, dword [esi + 0xc]
sub eax, 0xc049042d
je 0x40ad63
jmp 0x409a14
mov eax, dword [esi + 0xc]
sub eax, 0xc3422e7d
je 0x40a697
jmp 0x409a27
mov eax, dword [esi + 0xc]
sub eax, 0xc4463827
je 0x40ab51
jmp 0x409a3a
mov eax, dword [esi + 0xc]
sub eax, 0xc7437f2b
je 0x40ad7a
jmp 0x409a4d
mov eax, dword [esi + 0xc]
sub eax, 0xc8aae107
je 0x40a1e1
jmp 0x409a60
mov eax, dword [esi + 0xc]
sub eax, 0xcaac0aa6
je 0x409e54
jmp 0x409a73
mov eax, dword [esi + 0xc]
sub eax, 0xcb35ed2b
je 0x40ad0d
jmp 0x409a86
mov eax, dword [esi + 0xc]
sub eax, 0xcfd5e33f
je 0x40ab81
jmp 0x409a99
mov eax, dword [esi + 0xc]
sub eax, 0xd051ad17
je 0x40accd
jmp 0x409aac
mov eax, dword [esi + 0xc]
sub eax, 0xd1491fc5
je 0x409f72
jmp 0x409abf
mov eax, dword [esi + 0xc]
sub eax, 0xd4f41c2c
je 0x40a0a6
jmp 0x409ad2
mov eax, dword [esi + 0xc]
sub eax, 0xd71a3e72
je 0x40a295
jmp 0x409ae5
mov eax, dword [esi + 0xc]
sub eax, 0xd95e4413
je 0x40a0c6
jmp 0x409af8
mov eax, dword [esi + 0xc]
sub eax, 0xd99679f8
je 0x40a913
jmp 0x409b0b
mov eax, dword [esi + 0xc]
sub eax, 0xdc3bc703
je 0x40a68b
jmp 0x409b1e
mov eax, dword [esi + 0xc]
sub eax, 0xdc41e015
je 0x40aa60
jmp 0x409b31
mov eax, dword [esi + 0xc]
sub eax, 0xdf2345a2
je 0x40a576
jmp 0x409b44
mov eax, dword [esi + 0xc]
sub eax, 0xe0405718
je 0x40aa2e
jmp 0x409b57
mov eax, dword [esi + 0xc]
sub eax, 0xe28f6659
je 0x40ad57
jmp 0x409b6a
mov eax, dword [esi + 0xc]
sub eax, 0xe2cdc0e6
je 0x40a16e
jmp 0x409b7d
mov eax, dword [esi + 0xc]
sub eax, 0xe4d2905f
je 0x40ac67
jmp 0x409b90
mov eax, dword [esi + 0xc]
sub eax, 0xec8d3618
je 0x40a0e0
jmp 0x409ba3
mov eax, dword [esi + 0xc]
sub eax, 0xf011dae4
je 0x409e9f
jmp 0x409bb6
mov eax, dword [esi + 0xc]
sub eax, 0xf49f1d3c
je 0x40a9f9
jmp 0x409bc9
mov eax, dword [esi + 0xc]
sub eax, 0xf6dd0c7f
je 0x40abf4
jmp 0x409bdc
mov eax, dword [esi + 0xc]
sub eax, 0xf87632a9
je 0x40a591
jmp 0x409bef
mov eax, dword [esi + 0xc]
sub eax, 0xfad0f619
je 0x40aa3a
jmp 0x409c02
mov eax, dword [esi + 0xc]
sub eax, 0xfc22aff7
je 0x40ad4b
jmp 0x409c15
mov eax, dword [esi + 0xc]
sub eax, 0xfe0b9083
je 0x40ad2d
jmp 0x409c28
mov eax, dword [esi + 0xc]
sub eax, 0xb93647
je 0x40a639
jmp 0x409c3b
mov eax, dword [esi + 0xc]
sub eax, 0x2b84c28
je 0x40aa10
jmp 0x409c4e
mov eax, dword [esi + 0xc]
sub eax, 0x3b1bba3
je 0x40a1ed
jmp 0x409c61
mov eax, dword [esi + 0xc]
sub eax, 0x8c012a7
je 0x40a70a
jmp 0x409c74
mov eax, dword [esi + 0xc]
sub eax, 0xd0d6543
je 0x40aca0
jmp 0x409c87
mov eax, dword [esi + 0xc]
sub eax, 0x124102c7
je 0x40a9ed
jmp 0x409c9a
mov eax, dword [esi + 0xc]
sub eax, 0x14dc0f45
je 0x40a8e2
jmp 0x409cad
mov eax, dword [esi + 0xc]
sub eax, 0x1a3ec17a
je 0x40a376
jmp 0x409cc0
mov eax, dword [esi + 0xc]
sub eax, 0x1fdc4831
je 0x40a289
jmp 0x409cd3
mov eax, dword [esi + 0xc]
sub eax, 0x23487a7b
je 0x40a3c4
jmp 0x409ce6
mov eax, dword [esi + 0xc]
sub eax, 0x2ae78683
je 0x40a82b
jmp 0x409cf9
mov eax, dword [esi + 0xc]
sub eax, 0x2f30d9da
je 0x40a5df
jmp 0x409d0c
mov eax, dword [esi + 0xc]
sub eax, 0x328aba74
je 0x40ab5d
jmp 0x409d1f
mov eax, dword [esi + 0xc]
sub eax, 0x39e363a1
je 0x40a789
jmp 0x409d32
mov eax, dword [esi + 0xc]
sub eax, 0x3a79dbcb
je 0x40aad3
mov bl, byte [esi + 0x22]
mov dh, byte [esi + 0x23]
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, 0x6b2748b8
mov ecx, 0xf011dae4
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40ad81
push eax
mov eax, esp
mov dword [esi + 0x24], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x28], eax
push eax
push eax
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
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x38], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x3c], eax
push eax
mov eax, esp
mov dword [esi + 0x40], eax
push eax
mov eax, esp
mov dword [esi + 0x44], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x48], eax
mov ecx, dword [0x4f257c]
mov eax, dword [0x4f2578]
mov edx, ecx
sub edx, 0xa34ab82e
sub edx, 1
add edx, 0xa34ab82e
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, 0x6b2748b8
mov ecx, 0x8756695c
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40ad81
mov dword [esi + 0x1c], 0xd1491fc5
jmp 0x40ad81
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
push eax
sub esp, 0x14
mov edx, esp
mov dword [esi + 0x4c], edx
push eax
mov edx, esp
mov dword [esi + 0x50], edx
push eax
mov edx, esp
mov dword [esi + 0x54], edx
push eax
mov edx, esp
mov dword [esi + 0x58], edx
mov dword [esi + 0x5c], eax
add eax, 0x20
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x24]
mov dword [eax], ecx
mov eax, dword [esi + 0x24]
mov eax, dword [esi + 0x28]
vmovsd xmm0, qword [0x42e218]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x2c]
vmovsd xmm0, qword [0x42e210]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x30]
mov dword [eax], 0x7e1
mov eax, dword [esi + 0x34]
mov dword [eax], 0x128b
mov ecx, dword [esi + 0x38]
lea eax, str.owuymxdkexq
sub esp, 4
mov dword [esp], eax
call fcn.00415730
mov eax, dword [esi + 0x3c]
vmovsd xmm0, qword [0x42e208]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x40]
mov byte [eax], 0
mov eax, dword [esi + 0x44]
mov dword [eax], 0x19
mov dword [esi + 0x1c], 0x3cbdc923
jmp 0x40ad81
mov dword [esi + 0x1c], 0xb1247057
jmp 0x40ad81
mov eax, dword [esi + 0x44]
mov eax, dword [eax]
mov dword [esi + 0x64], eax
mov dword [esi + 0x1c], 0xd95e4413
jmp 0x40ad81
mov eax, dword [esi + 0x64]
cmp eax, 0
setg al
and al, 1
mov byte [esi + 0x6b], al
mov dword [esi + 0x1c], 0xec8d3618
jmp 0x40ad81
mov dl, byte [esi + 0x6b]
mov eax, 0x71c5b862
mov ecx, 0xbb6eb9fc
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40ad81
mov ecx, dword [0x4f257c]
mov eax, dword [0x4f2578]
mov edx, ecx
add edx, 0x5c179c35
sub edx, 1
sub edx, 0x5c179c35
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, 0xd0d6543
mov ecx, 0xe2cdc0e6
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40ad81
mov ecx, dword [0x4f257c]
mov eax, dword [0x4f2578]
mov edx, ecx
sub edx, 0x2b7aaf18
sub edx, 1
add edx, 0x2b7aaf18
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, 0xd0d6543
mov ecx, 0xc8aae107
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40ad81
mov dword [esi + 0x1c], 0x3b1bba3
jmp 0x40ad81
mov eax, dword [0x4f257c]
mov ecx, dword [0x4f2578]
mov edx, eax
sub edx, 0x60f62e92
sub edx, 1
add edx, 0x60f62e92
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, 0x86edc47a
mov ecx, 0x9a982328
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40ad81
mov eax, dword [esi + 0x44]
mov eax, dword [eax]
mov dword [esi + 0x6c], eax
mov eax, dword [0x4f257c]
mov ecx, dword [0x4f2578]
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, 0x86edc47a
mov ecx, 0x1fdc4831
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40ad81
mov dword [esi + 0x1c], 0xd71a3e72
jmp 0x40ad81
mov eax, dword [0x4f257c]
mov ecx, dword [0x4f2578]
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, 0x5ced7ccf
mov ecx, 0x9708d36e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40ad81
mov eax, dword [esi + 0x6c]
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 [0x4f257c]
mov ecx, dword [0x4f2578]
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, 0x5ced7ccf
mov ecx, 0x4ef8e3a5
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40ad81
mov eax, dword [0x4f257c]
mov ecx, dword [0x4f2578]
mov edx, eax
sub edx, 0xc9ca5e08
sub edx, 1
add edx, 0xc9ca5e08
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, 0xd051ad17
mov ecx, 0x23487a7b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40ad81
mov ecx, dword [esi + 0x4c]
lea eax, str.owuymxdkexq
sub esp, 4
mov dword [esp], eax
call fcn.00415730
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00415950
add esp, 8
and al, 1
mov byte [esi + 0x76], al
mov ecx, dword [esi + 0x4c]
call fcn.00415d10
mov eax, dword [0x4f257c]
mov ecx, dword [0x4f2578]
mov edx, eax
sub edx, 0xe088625d
sub edx, 1
add edx, 0xe088625d
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, 0xd051ad17
mov ecx, 0xb535f244
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40ad81
mov dword [esi + 0x1c], 0xa35c7ec7
jmp 0x40ad81
mov ecx, dword [0x4f257c]
mov eax, dword [0x4f2578]
mov edx, ecx
add edx, 0x337fb142
sub edx, 1
sub edx, 0x337fb142
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, 0xcb35ed2b
mov ecx, 0x93a893fd
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40ad81
mov ecx, dword [esi + 0x48]
call fcn.00415d10
mov eax, dword [0x4f257c]
mov ecx, dword [0x4f2578]
mov edx, eax
sub edx, 0x76b9c0e4
sub edx, 1
add edx, 0x76b9c0e4
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, 0xcb35ed2b
mov ecx, 0x985bd52a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40ad81
mov dl, byte [esi + 0x76]
mov eax, 0x636962f4
mov ecx, 0x42a268bf
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40ad81
mov dword [esi + 0x1c], 0x8ec4311b
jmp 0x40ad81
mov eax, dword [esi + 0x50]
cmp dword [eax], 0
setg al
and al, 1
mov byte [esi + 0x77], al
mov dword [esi + 0x1c], 0xdf2345a2
jmp 0x40ad81
mov dl, byte [esi + 0x77]
mov eax, 0x9bad80d7
mov ecx, 0xf87632a9
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40ad81
mov eax, dword [0x4f257c]
mov ecx, dword [0x4f2578]
mov edx, eax
sub edx, 0x72751c42
sub edx, 1
add edx, 0x72751c42
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, 0xabf17a66
mov ecx, 0x2f30d9da
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40ad81
mov eax, dword [0x4f257c]
mov ecx, dword [0x4f2578]
mov edx, eax
add edx, 0x3d53872
sub edx, 1
sub edx, 0x3d53872
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, 0xabf17a66
mov ecx, 0x9b76f290
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40ad81
mov dword [esi + 0x1c], 0xb93647
jmp 0x40ad81
mov eax, dword [esi + 0x50]
mov ecx, dword [eax]
add ecx, 0x844c7f52
add ecx, 0xffffffff
sub ecx, 0x844c7f52
mov eax, dword [esi + 0x50]
mov dword [eax], ecx
mov dword [esi + 0x1c], 0xb7d6cd92
jmp 0x40ad81
mov dword [esi + 0x1c], 0x8ec4311b
jmp 0x40ad81
mov dword [esi + 0x1c], 0x636962f4
jmp 0x40ad81
mov dword [esi + 0x1c], 0xc3422e7d
jmp 0x40ad81
mov ecx, dword [0x4f257c]
mov eax, dword [0x4f2578]
mov edx, ecx
sub edx, 0xcd2174d1
sub edx, 1
add edx, 0xcd2174d1
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, 0xfe0b9083
mov ecx, 0x8c012a7
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40ad81
mov eax, dword [esi + 0x54]
mov eax, dword [eax]
mov dword [esi + 0x78], eax
mov ecx, dword [0x4f257c]
mov eax, dword [0x4f2578]
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, 0xfe0b9083
mov ecx, 0xa5254c5e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40ad81
mov dword [esi + 0x1c], 0x39e363a1
jmp 0x40ad81
mov eax, dword [0x4f257c]
mov ecx, dword [0x4f2578]
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, 0x4bb5c3ec
mov ecx, 0x4b7de724
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40ad81
mov dl, byte [esi + 0x7f]
mov eax, 0x8079835c
mov ecx, 0x3bc8e4d3
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40ad81
mov eax, dword [0x4f257c]
mov ecx, dword [0x4f2578]
mov edx, eax
sub edx, 0x26e4ebd
sub edx, 1
add edx, 0x26e4ebd
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, 0xfc22aff7
mov ecx, 0x14dc0f45
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40ad81
mov dword [esi + 0x1c], 0xbc414847
jmp 0x40ad81
mov eax, dword [esi + 0x54]
mov ecx, dword [eax]
add ecx, 0x113bb99f
add ecx, 0xffffffff
sub ecx, 0x113bb99f
mov eax, dword [esi + 0x54]
mov dword [eax], ecx
mov dword [esi + 0x1c], 0xd99679f8
jmp 0x40ad81
mov dword [esi + 0x1c], 0xc3422e7d
jmp 0x40ad81
mov eax, dword [esi + 0x58]
mov dword [eax], 0x1d
mov dword [esi + 0x1c], 0x6d6b44b4
jmp 0x40ad81
mov eax, dword [0x4f257c]
mov ecx, dword [0x4f2578]
mov edx, eax
add edx, 0x94d62a4e
sub edx, 1
sub edx, 0x94d62a4e
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, 0xe28f6659
mov ecx, 0x124102c7
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40ad81
mov dword [esi + 0x1c], 0xf49f1d3c
jmp 0x40ad81
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov dword [esi + 0x80], eax
mov dword [esi + 0x1c], 0x2b84c28
jmp 0x40ad81
mov edx, dword [esi + 0x80]
mov eax, 0x328aba74
mov ecx, 0xe0405718
cmp edx, 0
cmovg eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40ad81
mov dword [esi + 0x1c], 0xfad0f619
jmp 0x40ad81
mov eax, dword [esi + 0x58]
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 + 0x84], eax
mov dword [esi + 0x1c], 0xdc41e015
jmp 0x40ad81
mov ecx, dword [0x4f257c]
mov eax, dword [0x4f2578]
mov edx, ecx
add edx, 0xd4cef947
sub edx, 1
sub edx, 0xd4cef947
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, 0xc049042d
mov ecx, 0x3a79dbcb
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40ad81
mov dword [esi + 0x1c], 0xf49f1d3c
jmp 0x40ad81
mov ecx, dword [esi + 0x38]
call fcn.00415d10
mov ecx, dword [esi + 0x5c]
call fcn.00415d10
mov ecx, dword [esi + 0x60]
call fcn.00415d10
mov dword [esi + 0x1c], 0xcfd5e33f
jmp 0x40ad81
mov ecx, dword [0x4f257c]
mov eax, dword [0x4f2578]
mov edx, ecx
add edx, 0xb56b8686
sub edx, 1
sub edx, 0xb56b8686
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, 0xc7437f2b
mov ecx, 0xf6dd0c7f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40ad81
mov ecx, dword [0x4f257c]
mov eax, dword [0x4f2578]
mov edx, ecx
sub edx, 0x166ce99a
sub edx, 1
add edx, 0x166ce99a
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, 0xc7437f2b
mov ecx, 0xe4d2905f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40ad81
fld dword [0x42e200]
fstp xword [esi]
mov ecx, dword [esi + 0x88]
xor ecx, ebp
call fcn.0041efb0
fld xword [esi]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x54
mov dword [esi + 0x1c], 0xe2cdc0e6
jmp 0x40ad81
mov eax, dword [esi + 0x44]
mov dword [esi + 0x1c], 0x9a982328
jmp 0x40ad81
mov ecx, dword [esi + 0x4c]
lea eax, str.owuymxdkexq
sub esp, 4
mov dword [esp], eax
call fcn.00415730
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00415950
add esp, 8
mov ecx, dword [esi + 0x4c]
call fcn.00415d10
mov dword [esi + 0x1c], 0x23487a7b
jmp 0x40ad81
mov ecx, dword [esi + 0x48]
call fcn.00415d10
mov dword [esi + 0x1c], 0x93a893fd
jmp 0x40ad81
mov dword [esi + 0x1c], 0x2f30d9da
jmp 0x40ad81
mov eax, dword [esi + 0x54]
mov dword [esi + 0x1c], 0x8c012a7
jmp 0x40ad81
mov dword [esi + 0x1c], 0x872372e7
jmp 0x40ad81
mov dword [esi + 0x1c], 0x90b0bf5b
jmp 0x40ad81
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x84]
mov dword [eax], ecx
mov dword [esi + 0x1c], 0x3a79dbcb
jmp 0x40ad81
mov dword [esi + 0x1c], 0xf6dd0c7f
jmp 0x40986f