Function at 0x408f30
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 [0x43e080]
xor eax, ebp
mov dword [esi + 0x78], eax
mov ecx, dword [0x43f5b4]
mov eax, dword [0x43f5b0]
mov edx, ecx
add edx, 0x46be0f6f
sub edx, 1
sub edx, 0x46be0f6f
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [esi + 0x2a], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [esi + 0x2b], al
mov dword [esi + 0x24], 0xd0f66163
mov eax, dword [esi + 0x24]
mov dword [esi + 0x14], eax
sub eax, 0x8025dd10
je 0x409ee6
jmp 0x408faa
mov eax, dword [esi + 0x14]
sub eax, 0x82495aed
je 0x40a254
jmp 0x408fbd
mov eax, dword [esi + 0x14]
sub eax, 0x834ff16b
je 0x40a28e
jmp 0x408fd0
mov eax, dword [esi + 0x14]
sub eax, 0x8462646e
je 0x40a135
jmp 0x408fe3
mov eax, dword [esi + 0x14]
sub eax, 0x85238a55
je 0x409873
jmp 0x408ff6
mov eax, dword [esi + 0x14]
sub eax, 0x85b57ca5
je 0x40958b
jmp 0x409009
mov eax, dword [esi + 0x14]
sub eax, 0x88d62f14
je 0x409b80
jmp 0x40901c
mov eax, dword [esi + 0x14]
sub eax, 0x8c08ada7
je 0x409a13
jmp 0x40902f
mov eax, dword [esi + 0x14]
sub eax, 0x8fa0f3f8
je 0x40a1d1
jmp 0x409042
mov eax, dword [esi + 0x14]
sub eax, 0x905020a4
je 0x40a129
jmp 0x409055
mov eax, dword [esi + 0x14]
sub eax, 0x93dea39f
je 0x409c9f
jmp 0x409068
mov eax, dword [esi + 0x14]
sub eax, 0xa07b2a28
je 0x4097e8
jmp 0x40907b
mov eax, dword [esi + 0x14]
sub eax, 0xa2ab9277
je 0x409d7a
jmp 0x40908e
mov eax, dword [esi + 0x14]
sub eax, 0xa5b320a3
je 0x40a2f1
jmp 0x4090a1
mov eax, dword [esi + 0x14]
sub eax, 0xa6d3a872
je 0x409f69
jmp 0x4090b4
mov eax, dword [esi + 0x14]
sub eax, 0xa70a07ed
je 0x409c51
jmp 0x4090c7
mov eax, dword [esi + 0x14]
sub eax, 0xa8d7e671
je 0x4099c5
jmp 0x4090da
mov eax, dword [esi + 0x14]
sub eax, 0xac5a94eb
je 0x40a32e
jmp 0x4090ed
mov eax, dword [esi + 0x14]
sub eax, 0xac9c0eda
je 0x409867
jmp 0x409100
mov eax, dword [esi + 0x14]
sub eax, 0xae982d70
je 0x409842
jmp 0x409113
mov eax, dword [esi + 0x14]
sub eax, 0xb57eefe8
je 0x409725
jmp 0x409126
mov eax, dword [esi + 0x14]
sub eax, 0xb5b4e7ab
je 0x40a2c1
jmp 0x409139
mov eax, dword [esi + 0x14]
sub eax, 0xb93ae9ab
je 0x409746
jmp 0x40914c
mov eax, dword [esi + 0x14]
sub eax, 0xbaf911bd
je 0x409bd2
jmp 0x40915f
mov eax, dword [esi + 0x14]
sub eax, 0xbfba3830
je 0x40a322
jmp 0x409172
mov eax, dword [esi + 0x14]
sub eax, 0xc0765b54
je 0x409de7
jmp 0x409185
mov eax, dword [esi + 0x14]
sub eax, 0xc41f5b81
je 0x40a2fd
jmp 0x409198
mov eax, dword [esi + 0x14]
sub eax, 0xc84b0807
je 0x40993c
jmp 0x4091ab
mov eax, dword [esi + 0x14]
sub eax, 0xcbcd6722
je 0x409836
jmp 0x4091be
mov eax, dword [esi + 0x14]
sub eax, 0xcd570ac7
je 0x4098e2
jmp 0x4091d1
mov eax, dword [esi + 0x14]
sub eax, 0xce596209
je 0x409894
jmp 0x4091e4
mov eax, dword [esi + 0x14]
sub eax, 0xd03d27db
je 0x409ab6
jmp 0x4091f7
mov eax, dword [esi + 0x14]
sub eax, 0xd0f66163
je 0x409540
jmp 0x40920a
mov eax, dword [esi + 0x14]
sub eax, 0xd4fc3a4b
je 0x409950
jmp 0x40921d
mov eax, dword [esi + 0x14]
sub eax, 0xdea533dd
je 0x409608
jmp 0x409230
mov eax, dword [esi + 0x14]
sub eax, 0xdf45f989
je 0x409d20
jmp 0x409243
mov eax, dword [esi + 0x14]
sub eax, 0xe07eafb2
je 0x409a3a
jmp 0x409256
mov eax, dword [esi + 0x14]
sub eax, 0xe3d533c1
je 0x409dc0
jmp 0x409269
mov eax, dword [esi + 0x14]
sub eax, 0xe72587be
je 0x40a260
jmp 0x40927c
mov eax, dword [esi + 0x14]
sub eax, 0xe81cc175
je 0x409930
jmp 0x40928f
mov eax, dword [esi + 0x14]
sub eax, 0xe9496a69
je 0x409a8b
jmp 0x4092a2
mov eax, dword [esi + 0x14]
sub eax, 0xea6411f5
je 0x40973a
jmp 0x4092b5
mov eax, dword [esi + 0x14]
sub eax, 0xeb56ea18
je 0x409e94
jmp 0x4092c8
mov eax, dword [esi + 0x14]
sub eax, 0xed90d4dc
je 0x40a343
jmp 0x4092db
mov eax, dword [esi + 0x14]
sub eax, 0xf342a4de
je 0x40a166
jmp 0x4092ee
mov eax, dword [esi + 0x14]
sub eax, 0x218d61
je 0x409d2c
jmp 0x409301
mov eax, dword [esi + 0x14]
sub eax, 0xc43d01
je 0x409977
jmp 0x409314
mov eax, dword [esi + 0x14]
sub eax, 0x3b8f2b1
je 0x40a0f4
jmp 0x409327
mov eax, dword [esi + 0x14]
sub eax, 0x414b475
je 0x40996b
jmp 0x40933a
mov eax, dword [esi + 0x14]
sub eax, 0x460baff
je 0x409614
jmp 0x40934d
mov eax, dword [esi + 0x14]
sub eax, 0x90a5e9a
je 0x40a0e8
jmp 0x409360
mov eax, dword [esi + 0x14]
sub eax, 0xe85c603
je 0x409629
jmp 0x409373
mov eax, dword [esi + 0x14]
sub eax, 0x1193ee66
je 0x409775
jmp 0x409386
mov eax, dword [esi + 0x14]
sub eax, 0x13516333
je 0x40a15a
jmp 0x409399
mov eax, dword [esi + 0x14]
sub eax, 0x13ce256b
je 0x409c45
jmp 0x4093ac
mov eax, dword [esi + 0x14]
sub eax, 0x1ad2d238
je 0x40975a
jmp 0x4093bf
mov eax, dword [esi + 0x14]
sub eax, 0x1be03b6b
je 0x40a037
jmp 0x4093d2
mov eax, dword [esi + 0x14]
sub eax, 0x1d8bd6b4
je 0x40a0a2
jmp 0x4093e5
mov eax, dword [esi + 0x14]
sub eax, 0x20686e46
je 0x40a34f
jmp 0x4093f8
mov eax, dword [esi + 0x14]
sub eax, 0x211acaa6
je 0x409faf
jmp 0x40940b
mov eax, dword [esi + 0x14]
sub eax, 0x246169e3
je 0x409ddb
jmp 0x40941e
mov eax, dword [esi + 0x14]
sub eax, 0x2d58c294
je 0x409e2d
jmp 0x409431
mov eax, dword [esi + 0x14]
sub eax, 0x3276a178
je 0x409f51
jmp 0x409444
mov eax, dword [esi + 0x14]
sub eax, 0x365fdf5d
je 0x40a02b
jmp 0x409457
mov eax, dword [esi + 0x14]
sub eax, 0x3a800178
je 0x409b8c
mov bl, byte [esi + 0x2a]
mov dh, byte [esi + 0x2b]
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, 0x834ff16b
mov ecx, 0x85b57ca5
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x24], eax
jmp 0x40a366
push eax
mov eax, esp
mov dword [esi + 0x2c], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
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
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x3c], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x40], eax
mov eax, dword [0x43f5b4]
mov ecx, dword [0x43f5b0]
mov edx, eax
sub edx, 0x6ac8eb2d
sub edx, 1
add edx, 0x6ac8eb2d
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, 0x834ff16b
mov ecx, 0xdea533dd
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x24], eax
jmp 0x40a366
mov dword [esi + 0x24], 0x460baff
jmp 0x40a366
push eax
sub esp, 0x14
mov eax, esp
mov dword [esi + 0x44], eax
mov dword [esi + 0x24], 0xe85c603
jmp 0x40a366
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x1c]
push eax
sub esp, 0x14
mov edx, esp
mov dword [esi + 0xc], edx
push eax
mov edx, esp
mov dword [esi + 0x48], edx
push eax
mov edx, esp
mov dword [esi + 0x4c], edx
sub esp, 0x18
mov edx, esp
mov dword [esi + 0x50], edx
sub esp, 0x18
mov edx, esp
mov dword [esi + 0x54], edx
push eax
mov edx, esp
mov dword [esi + 0x58], edx
push eax
mov edx, esp
mov dword [esi + 0x5c], edx
mov dword [esi + 0x60], eax
add eax, 0x18
mov dword [esi + 0x64], eax
mov eax, dword [esi + 0x2c]
mov dword [eax], ecx
mov eax, dword [esi + 0x2c]
mov eax, dword [esi + 0x30]
vmovsd xmm0, qword [0x437230]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x34]
mov byte [eax], 1
mov eax, dword [esi + 0x38]
mov dword [eax], 0x16a
mov ecx, dword [esi + 0x3c]
lea eax, str.nxynikazgjxswbqqnatijfuxyukxnbdkywvowmjkkukbfzkskuwmroqqwtooukucrjmhkytj
sub esp, 4
mov dword [esp], eax
call fcn.0041d5f0
mov ecx, dword [esi + 0x40]
lea eax, str.zsrbcqgqvtizegyxffngzurvpmlrjm
sub esp, 4
mov dword [esp], eax
call fcn.0041d5f0
mov ecx, dword [esi + 0x44]
lea eax, str.nxynikazgjxswbqqnatijfuxyukxnbdkywvowmjkkukbfzkskuwmroqqwtooukucrjmhkytj
sub esp, 4
mov dword [esp], eax
call fcn.0041d5f0
mov ecx, dword [esi + 0xc]
lea eax, str.nxynikazgjxswbqqnatijfuxyukxnbdkywvowmjkkukbfzkskuwmroqqwtooukucrjmhkytj
sub esp, 4
mov dword [esp], eax
call fcn.0041d5f0
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x44]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0041db50
mov ecx, dword [esi + 0xc]
add esp, 8
mov byte [esi + 0x13], al
call fcn.0041d480
mov ecx, dword [esi + 0x44]
call fcn.0041d480
mov dl, byte [esi + 0x13]
mov eax, 0x6a19f3aa
mov ecx, 0xb57eefe8
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x24], eax
jmp 0x40a366
mov eax, dword [esi + 0x48]
mov dword [eax], 0x63
mov dword [esi + 0x24], 0xea6411f5
jmp 0x40a366
mov dword [esi + 0x24], 0xb93ae9ab
jmp 0x40a366
mov eax, dword [esi + 0x48]
mov eax, dword [eax]
mov dword [esi + 0x68], eax
mov dword [esi + 0x24], 0x1ad2d238
jmp 0x40a366
mov edx, dword [esi + 0x68]
mov eax, 0x85238a55
mov ecx, 0x1193ee66
cmp edx, 0
cmovg eax, ecx
mov dword [esi + 0x24], eax
jmp 0x40a366
mov ecx, dword [0x43f5b4]
mov eax, dword [0x43f5b0]
mov edx, ecx
sub edx, 0xd253a868
sub edx, 1
add edx, 0xd253a868
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, 0x7c552577
mov ecx, 0xa07b2a28
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x24], eax
jmp 0x40a366
mov eax, dword [0x43f5b4]
mov ecx, dword [0x43f5b0]
mov edx, eax
add edx, 0x82281504
sub edx, 1
sub edx, 0x82281504
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, 0x7c552577
mov ecx, 0xcbcd6722
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x24], eax
jmp 0x40a366
mov dword [esi + 0x24], 0xae982d70
jmp 0x40a366
mov eax, dword [esi + 0x48]
mov ecx, dword [eax]
add ecx, 0x230ac507
add ecx, 0xffffffff
sub ecx, 0x230ac507
mov eax, dword [esi + 0x48]
mov dword [eax], ecx
mov dword [esi + 0x24], 0xac9c0eda
jmp 0x40a366
mov dword [esi + 0x24], 0xb93ae9ab
jmp 0x40a366
mov dword [esi + 0x24], 0x6a19f3aa
jmp 0x40a366
mov eax, dword [0x43f5b4]
mov ecx, dword [0x43f5b0]
mov edx, eax
sub edx, 0x5d2b0a9d
sub edx, 1
add edx, 0x5d2b0a9d
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, 0x7a4789c8
mov ecx, 0xcd570ac7
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x24], eax
jmp 0x40a366
mov eax, dword [0x43f5b4]
mov ecx, dword [0x43f5b0]
mov edx, eax
sub edx, 0x9d83cf95
sub edx, 1
add edx, 0x9d83cf95
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, 0x7a4789c8
mov ecx, 0xe81cc175
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x24], eax
jmp 0x40a366
mov dword [esi + 0x24], 0xc84b0807
jmp 0x40a366
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov dword [esi + 0x6c], eax
mov dword [esi + 0x24], 0xd4fc3a4b
jmp 0x40a366
mov edx, dword [esi + 0x6c]
mov eax, 0xe07eafb2
mov ecx, 0x414b475
cmp edx, 0
cmovg eax, ecx
mov dword [esi + 0x24], eax
jmp 0x40a366
mov dword [esi + 0x24], 0xc43d01
jmp 0x40a366
mov eax, dword [0x43f5b4]
mov ecx, dword [0x43f5b0]
mov edx, eax
sub edx, 0x3ce596d4
sub edx, 1
add edx, 0x3ce596d4
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, 0x44686dce
mov ecx, 0xa8d7e671
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x24], eax
jmp 0x40a366
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov dword [esi + 0x70], eax
mov eax, dword [0x43f5b4]
mov ecx, dword [0x43f5b0]
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, 0x44686dce
mov ecx, 0x8c08ada7
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x24], eax
jmp 0x40a366
mov dword [esi + 0x24], 0x7fa5520b
jmp 0x40a366
mov ecx, dword [esi + 0x50]
lea eax, str.zsrbcqgqvtizegyxffngzurvpmlrjm
sub esp, 4
mov dword [esp], eax
call fcn.0041d5f0
mov ecx, dword [esi + 0x54]
lea eax, str.zsrbcqgqvtizegyxffngzurvpmlrjm
sub esp, 4
mov dword [esp], eax
call fcn.0041d5f0
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x54]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0041d930
add esp, 8
and al, 1
mov byte [esi + 0x75], al
mov dword [esi + 0x24], 0xe9496a69
jmp 0x40a366
mov ecx, dword [esi + 0x54]
call fcn.0041d480
mov ecx, dword [esi + 0x50]
call fcn.0041d480
mov dl, byte [esi + 0x75]
mov eax, 0xa6d3a872
mov ecx, 0xd03d27db
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x24], eax
jmp 0x40a366
mov ecx, dword [0x43f5b4]
mov eax, dword [0x43f5b0]
mov edx, ecx
add edx, 0xbd1e3fb9
sub edx, 1
sub edx, 0xbd1e3fb9
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, 0xb5b4e7ab
mov ecx, 0x57a00d28
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x24], eax
jmp 0x40a366
mov dword [esi + 0x24], 0x3a800178
jmp 0x40a366
mov ecx, dword [0x43f5b4]
mov eax, dword [0x43f5b0]
mov edx, ecx
sub edx, 0xb3555487
sub edx, 1
add edx, 0xb3555487
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, 0x7a45c8e9
mov ecx, 0x13ce256b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x24], eax
jmp 0x40a366
mov dword [esi + 0x24], 0xa70a07ed
jmp 0x40a366
mov eax, dword [0x43f5b4]
mov ecx, dword [0x43f5b0]
mov edx, eax
add edx, 0x71044ad1
sub edx, 1
sub edx, 0x71044ad1
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, 0x704c3545
mov ecx, 0x93dea39f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x24], eax
jmp 0x40a366
mov eax, dword [esi + 0x58]
cmp dword [eax], 0
setg al
and al, 1
mov byte [esi + 0x76], al
mov ecx, dword [0x43f5b4]
mov eax, dword [0x43f5b0]
mov edx, ecx
sub edx, 0xa7d2ca31
sub edx, 1
add edx, 0xa7d2ca31
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, 0x704c3545
mov ecx, 0xdf45f989
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x24], eax
jmp 0x40a366
mov dword [esi + 0x24], 0x218d61
jmp 0x40a366
mov eax, dword [0x43f5b4]
mov ecx, dword [0x43f5b0]
mov edx, eax
add edx, 0xe3878ea1
sub edx, 1
sub edx, 0xe3878ea1
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, 0xa5b320a3
mov ecx, 0xa2ab9277
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x24], eax
jmp 0x40a366
mov eax, dword [0x43f5b4]
mov ecx, dword [0x43f5b0]
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, 0xa5b320a3
mov ecx, 0xe3d533c1
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x24], eax
jmp 0x40a366
mov dl, byte [esi + 0x76]
mov eax, 0x6215881b
mov ecx, 0x246169e3
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x24], eax
jmp 0x40a366
mov dword [esi + 0x24], 0xc0765b54
jmp 0x40a366
mov eax, dword [0x43f5b4]
mov ecx, dword [0x43f5b0]
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, 0xc41f5b81
mov ecx, 0x2d58c294
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x24], eax
jmp 0x40a366
mov eax, dword [esi + 0x58]
mov ecx, dword [eax]
add ecx, 0x9f8fd215
add ecx, 0xffffffff
sub ecx, 0x9f8fd215
mov eax, dword [esi + 0x58]
mov dword [eax], ecx
mov eax, dword [0x43f5b4]
mov ecx, dword [0x43f5b0]
mov edx, eax
add edx, 0x65080187
sub edx, 1
sub edx, 0x65080187
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, 0xc41f5b81
mov ecx, 0xeb56ea18
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x24], eax
jmp 0x40a366
mov dword [esi + 0x24], 0x3c0beb05
jmp 0x40a366
mov ecx, dword [0x43f5b4]
mov eax, dword [0x43f5b0]
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, 0xbfba3830
mov ecx, 0x3276a178
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x24], eax
jmp 0x40a366
mov dword [esi + 0x24], 0xa70a07ed
jmp 0x40a366
mov eax, dword [0x43f5b4]
mov ecx, dword [0x43f5b0]
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, 0xac5a94eb
mov ecx, 0x211acaa6
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x24], eax
jmp 0x40a366
mov eax, dword [esi + 0x5c]
mov dword [eax], 0x59
mov ecx, dword [0x43f5b4]
mov eax, dword [0x43f5b0]
mov edx, ecx
add edx, 0x899f636c
sub edx, 1
sub edx, 0x899f636c
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, 0xac5a94eb
mov ecx, 0x365fdf5d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x24], eax
jmp 0x40a366
mov dword [esi + 0x24], 0x1be03b6b
jmp 0x40a366
mov ecx, dword [0x43f5b4]
mov eax, dword [0x43f5b0]
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, 0xed90d4dc
mov ecx, 0x1d8bd6b4
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x24], eax
jmp 0x40a366
mov eax, dword [0x43f5b4]
mov ecx, dword [0x43f5b0]
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, 0xed90d4dc
mov ecx, 0x90a5e9a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x24], eax
jmp 0x40a366
mov dword [esi + 0x24], 0x3b8f2b1
jmp 0x40a366
mov eax, dword [esi + 0x5c]
cmp dword [eax], 0
setg al
and al, 1
mov byte [esi + 0x77], al
mov dword [esi + 0x24], 0x42e76b95
jmp 0x40a366
mov dword [esi + 0x24], 0x8462646e
jmp 0x40a366
mov eax, dword [esi + 0x5c]
mov ecx, dword [eax]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, 0xffffffff
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [esi + 0x5c]
mov dword [eax], ecx
mov dword [esi + 0x24], 0x13516333
jmp 0x40a366
mov dword [esi + 0x24], 0x3b8f2b1
jmp 0x40a366
mov ecx, dword [0x43f5b4]
mov eax, dword [0x43f5b0]
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, 0x20686e46
mov ecx, 0x8fa0f3f8
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x24], eax
jmp 0x40a366
mov ecx, dword [esi + 0x40]
call fcn.0041d480
mov ecx, dword [esi + 0x3c]
call fcn.0041d480
mov ecx, dword [0x43f5b4]
mov eax, dword [0x43f5b0]
mov edx, ecx
sub edx, 0x2a05abe3
sub edx, 1
add edx, 0x2a05abe3
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, 0x20686e46
mov ecx, 0x82495aed
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x24], eax
jmp 0x40a366
mov dword [esi + 0x24], 0xe72587be
jmp 0x40a366
mov ecx, dword [esi + 0x60]
call fcn.0041d480
mov ecx, dword [esi + 0x64]
call fcn.0041d480
fld dword [0x43722c]
fstp xword [esi]
mov ecx, dword [esi + 0x78]
xor ecx, ebp
call fcn.004277e0
fld xword [esi]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x58
mov dword [esi + 0x24], 0x85b57ca5
jmp 0x40a366
mov eax, dword [esi + 0x58]
mov dword [eax], 0x30
mov dword [esi + 0x24], 0x57a00d28
jmp 0x40a366
mov dword [esi + 0x24], 0xa2ab9277
jmp 0x40a366
mov eax, dword [esi + 0x58]
mov ecx, dword [eax]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, 0xffffffff
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [esi + 0x58]
mov dword [eax], ecx
mov dword [esi + 0x24], 0x2d58c294
jmp 0x40a366
mov dword [esi + 0x24], 0x8025dd10
jmp 0x40a366
mov eax, dword [esi + 0x5c]
mov dword [eax], 0x59
mov dword [esi + 0x24], 0x211acaa6
jmp 0x40a366
mov dword [esi + 0x24], 0x1d8bd6b4
jmp 0x40a366
mov ecx, dword [esi + 0x40]
call fcn.0041d480
mov ecx, dword [esi + 0x3c]
call fcn.0041d480
mov dword [esi + 0x24], 0x8fa0f3f8
jmp 0x408f94