Function at 0x407e50
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 [0x43c080]
xor eax, ebp
mov dword [esi + 0x88], eax
mov ecx, dword [0x43d584]
mov eax, dword [0x43d580]
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], 0xe88b4cf7
mov eax, dword [esi + 0x1c]
mov dword [esi + 0xc], eax
sub eax, 0x82a6fdbf
je 0x408dc7
jmp 0x407ec5
mov eax, dword [esi + 0xc]
sub eax, 0x858b5819
je 0x409050
jmp 0x407ed8
mov eax, dword [esi + 0xc]
sub eax, 0x9202e2e0
je 0x408ff7
jmp 0x407eeb
mov eax, dword [esi + 0xc]
sub eax, 0x941bf6d5
je 0x408cd9
jmp 0x407efe
mov eax, dword [esi + 0xc]
sub eax, 0x954a2ac2
je 0x409591
jmp 0x407f11
mov eax, dword [esi + 0xc]
sub eax, 0x9685a9cc
je 0x409576
jmp 0x407f24
mov eax, dword [esi + 0xc]
sub eax, 0x99959386
je 0x409415
jmp 0x407f37
mov eax, dword [esi + 0xc]
sub eax, 0xa1b1b3e1
je 0x408b3d
jmp 0x407f4a
mov eax, dword [esi + 0xc]
sub eax, 0xa1dcb0ab
je 0x4089c4
jmp 0x407f5d
mov eax, dword [esi + 0xc]
sub eax, 0xa2b8edd5
je 0x408865
jmp 0x407f70
mov eax, dword [esi + 0xc]
sub eax, 0xa46370eb
je 0x409623
jmp 0x407f83
mov eax, dword [esi + 0xc]
sub eax, 0xacbcc889
je 0x4093aa
jmp 0x407f96
mov eax, dword [esi + 0xc]
sub eax, 0xacef5e03
je 0x40962f
jmp 0x407fa9
mov eax, dword [esi + 0xc]
sub eax, 0xacf90a3f
je 0x408da7
jmp 0x407fbc
mov eax, dword [esi + 0xc]
sub eax, 0xb0ae1321
je 0x408972
jmp 0x407fcf
mov eax, dword [esi + 0xc]
sub eax, 0xb2fad478
je 0x40905c
jmp 0x407fe2
mov eax, dword [esi + 0xc]
sub eax, 0xb42f911c
je 0x408f8c
jmp 0x407ff5
mov eax, dword [esi + 0xc]
sub eax, 0xb63a6029
je 0x408ab8
jmp 0x408008
mov eax, dword [esi + 0xc]
sub eax, 0xb750649a
je 0x408f5a
jmp 0x40801b
mov eax, dword [esi + 0xc]
sub eax, 0xb76631c9
je 0x408db3
jmp 0x40802e
mov eax, dword [esi + 0xc]
sub eax, 0xb9a704de
je 0x40924d
jmp 0x408041
mov eax, dword [esi + 0xc]
sub eax, 0xbb66479e
je 0x4088f7
jmp 0x408054
mov eax, dword [esi + 0xc]
sub eax, 0xbfb32c15
je 0x409646
jmp 0x408067
mov eax, dword [esi + 0xc]
sub eax, 0xc11fbc16
je 0x408616
jmp 0x40807a
mov eax, dword [esi + 0xc]
sub eax, 0xc4f18eee
je 0x40938e
jmp 0x40808d
mov eax, dword [esi + 0xc]
sub eax, 0xc63c36e1
je 0x408851
jmp 0x4080a0
mov eax, dword [esi + 0xc]
sub eax, 0xc9e54533
je 0x409490
jmp 0x4080b3
mov eax, dword [esi + 0xc]
sub eax, 0xca263a8d
je 0x409652
jmp 0x4080c6
mov eax, dword [esi + 0xc]
sub eax, 0xca50b32f
je 0x408945
jmp 0x4080d9
mov eax, dword [esi + 0xc]
sub eax, 0xcab9e328
je 0x40914e
jmp 0x4080ec
mov eax, dword [esi + 0xc]
sub eax, 0xcd853784
je 0x408b83
jmp 0x4080ff
mov eax, dword [esi + 0xc]
sub eax, 0xd44bf433
je 0x408c70
jmp 0x408112
mov eax, dword [esi + 0xc]
sub eax, 0xd453a8f4
je 0x409686
jmp 0x408125
mov eax, dword [esi + 0xc]
sub eax, 0xd519cb6c
je 0x408664
jmp 0x408138
mov eax, dword [esi + 0xc]
sub eax, 0xdc5a5012
je 0x408e8e
jmp 0x40814b
mov eax, dword [esi + 0xc]
sub eax, 0xe46159d7
je 0x409661
jmp 0x40815e
mov eax, dword [esi + 0xc]
sub eax, 0xe88b4cf7
je 0x408506
jmp 0x408171
mov eax, dword [esi + 0xc]
sub eax, 0xec4238ac
je 0x40860a
jmp 0x408184
mov eax, dword [esi + 0xc]
sub eax, 0xef631835
je 0x408cbe
jmp 0x408197
mov eax, dword [esi + 0xc]
sub eax, 0xf46d05ac
je 0x408551
jmp 0x4081aa
mov eax, dword [esi + 0xc]
sub eax, 0xf83e7cd0
je 0x409376
jmp 0x4081bd
mov eax, dword [esi + 0xc]
sub eax, 0xf9ef7c12
je 0x40879a
jmp 0x4081d0
mov eax, dword [esi + 0xc]
sub eax, 0xfa1cc09c
je 0x408830
jmp 0x4081e3
mov eax, dword [esi + 0xc]
sub eax, 0xfac23ff0
je 0x408748
jmp 0x4081f6
mov eax, dword [esi + 0xc]
sub eax, 0xfcebf4aa
je 0x408ea9
jmp 0x408209
mov eax, dword [esi + 0xc]
sub eax, 0x127a7e9
je 0x40895d
jmp 0x40821c
mov eax, dword [esi + 0xc]
sub eax, 0x1ace69b
je 0x4092ea
jmp 0x40822f
mov eax, dword [esi + 0xc]
sub eax, 0x57ddf39
je 0x408a4d
jmp 0x408242
mov eax, dword [esi + 0xc]
sub eax, 0x76f95c2
je 0x4091e2
jmp 0x408255
mov eax, dword [esi + 0xc]
sub eax, 0xa8e66cd
je 0x40888c
jmp 0x408268
mov eax, dword [esi + 0xc]
sub eax, 0xcb9af31
je 0x409582
jmp 0x40827b
mov eax, dword [esi + 0xc]
sub eax, 0xf7a6104
je 0x4090cf
jmp 0x40828e
mov eax, dword [esi + 0xc]
sub eax, 0x10b57828
je 0x408c1e
jmp 0x4082a1
mov eax, dword [esi + 0xc]
sub eax, 0x1213aaa8
je 0x40916f
jmp 0x4082b4
mov eax, dword [esi + 0xc]
sub eax, 0x15b470d0
je 0x408b0e
jmp 0x4082c7
mov eax, dword [esi + 0xc]
sub eax, 0x22aeece6
je 0x40897e
jmp 0x4082da
mov eax, dword [esi + 0xc]
sub eax, 0x244d7d72
je 0x409382
jmp 0x4082ed
mov eax, dword [esi + 0xc]
sub eax, 0x263e3ea1
je 0x408b1a
jmp 0x408300
mov eax, dword [esi + 0xc]
sub eax, 0x26f5ab57
je 0x408a41
jmp 0x408313
mov eax, dword [esi + 0xc]
sub eax, 0x2a2d2b41
je 0x409142
jmp 0x408326
mov eax, dword [esi + 0xc]
sub eax, 0x2a7a865e
je 0x408951
jmp 0x408339
mov eax, dword [esi + 0xc]
sub eax, 0x2e388bde
je 0x408754
jmp 0x40834c
mov eax, dword [esi + 0xc]
sub eax, 0x2e929ba0
je 0x409608
jmp 0x40835f
mov eax, dword [esi + 0xc]
sub eax, 0x330f7c92
je 0x408e0d
jmp 0x408372
mov eax, dword [esi + 0xc]
sub eax, 0x33f1f9af
je 0x408c2a
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, 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, 0x6ad8ac15
mov ecx, 0xf46d05ac
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40969d
mov eax, dword [esi + 0x14]
push eax
mov ecx, esp
mov dword [esi + 0x24], ecx
sub esp, 8
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
mov dword [esi + 0x28], ecx
push eax
mov ecx, esp
mov dword [esi + 0x2c], ecx
push eax
mov ecx, esp
mov dword [esi + 0x30], ecx
sub esp, 0x18
mov ecx, esp
mov dword [esi + 0x34], ecx
sub esp, 0x18
mov ecx, esp
mov dword [esi + 0x38], ecx
sub esp, 0x18
mov ecx, esp
mov dword [esi + 0x3c], ecx
sub esp, 0x18
mov ecx, esp
mov dword [esi + 0x40], ecx
push eax
mov ecx, esp
mov dword [esi + 0x44], ecx
push eax
mov ecx, esp
mov dword [esi + 0x48], ecx
sub esp, 0x18
mov ecx, esp
mov dword [esi + 0x4c], ecx
sub esp, 0x18
mov ecx, esp
mov dword [esi + 0x50], ecx
push eax
mov ecx, esp
mov dword [esi + 0x54], ecx
push eax
mov ecx, esp
mov dword [esi + 0x58], ecx
mov dword [esi + 0x5c], eax
add eax, 0x18
mov dword [esi + 0x60], eax
mov eax, dword [0x43d584]
mov ecx, dword [0x43d580]
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, 0x6ad8ac15
mov ecx, 0xec4238ac
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40969d
mov dword [esi + 0x1c], 0xc11fbc16
jmp 0x40969d
mov eax, dword [0x43d584]
mov ecx, dword [0x43d580]
mov edx, eax
sub edx, 0xe2e61bb3
sub edx, 1
add edx, 0xe2e61bb3
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, 0x6e7b2047
mov ecx, 0xd519cb6c
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40969d
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x24]
mov dword [eax], ecx
mov eax, dword [esi + 0x24]
mov eax, dword [esi + 0x28]
vmovsd xmm0, qword [0x435230]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x2c]
mov byte [eax], 1
mov eax, dword [esi + 0x30]
mov dword [eax], 0x16a
mov ecx, dword [esi + 0x34]
lea eax, str.nxynikazgjxswbqqnatijfuxyukxnbdkywvowmjkkukbfzkskuwmroqqwtooukucrjmhkytj
sub esp, 4
mov dword [esp], eax
call fcn.0041cc00
mov ecx, dword [esi + 0x38]
lea eax, str.zsrbcqgqvtizegyxffngzurvpmlrjm
sub esp, 4
mov dword [esp], eax
call fcn.0041cc00
mov ecx, dword [esi + 0x3c]
lea eax, str.nxynikazgjxswbqqnatijfuxyukxnbdkywvowmjkkukbfzkskuwmroqqwtooukucrjmhkytj
sub esp, 4
mov dword [esp], eax
call fcn.0041cc00
mov ecx, dword [esi + 0x40]
lea eax, str.nxynikazgjxswbqqnatijfuxyukxnbdkywvowmjkkukbfzkskuwmroqqwtooukucrjmhkytj
sub esp, 4
mov dword [esp], eax
call fcn.0041cc00
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi + 0x40]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0041ce10
add esp, 8
and al, 1
mov byte [esi + 0x67], al
mov ecx, dword [esi + 0x40]
call fcn.0041c7f0
mov eax, dword [0x43d584]
mov ecx, dword [0x43d580]
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, 0x6e7b2047
mov ecx, 0xfac23ff0
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40969d
mov dword [esi + 0x1c], 0x2e388bde
jmp 0x40969d
mov eax, dword [0x43d584]
mov ecx, dword [0x43d580]
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, 0x5fa4d803
mov ecx, 0xf9ef7c12
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40969d
mov ecx, dword [esi + 0x3c]
call fcn.0041c7f0
mov ecx, dword [0x43d584]
mov eax, dword [0x43d580]
mov edx, ecx
add edx, 0x1dcfcdda
sub edx, 1
sub edx, 0x1dcfcdda
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, 0x5fa4d803
mov ecx, 0x5b0785b9
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40969d
mov eax, dword [esi + 0x44]
mov dword [eax], 0x63
mov dword [esi + 0x1c], 0x37f1bdea
jmp 0x40969d
mov eax, dword [esi + 0x44]
mov eax, dword [eax]
mov dword [esi + 0x68], eax
mov dword [esi + 0x1c], 0xa2b8edd5
jmp 0x40969d
mov edx, dword [esi + 0x68]
mov eax, 0x2a7a865e
mov ecx, 0x452a123f
cmp edx, 0
cmovg eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40969d
mov eax, dword [esi + 0x44]
mov ecx, dword [eax]
add ecx, 0xa584659f
add ecx, 0xffffffff
sub ecx, 0xa584659f
mov eax, dword [esi + 0x44]
mov dword [eax], ecx
mov dword [esi + 0x1c], 0x7bf4f932
jmp 0x40969d
mov eax, dword [0x43d584]
mov ecx, dword [0x43d580]
mov edx, eax
add edx, 0x5aad42bf
sub edx, 1
sub edx, 0x5aad42bf
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, 0x9685a9cc
mov ecx, 0xca50b32f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40969d
mov dword [esi + 0x1c], 0xc63c36e1
jmp 0x40969d
mov dword [esi + 0x1c], 0x127a7e9
jmp 0x40969d
mov eax, dword [esi + 0x48]
mov dword [eax], 0x30
mov dword [esi + 0x1c], 0xb0ae1321
jmp 0x40969d
mov dword [esi + 0x1c], 0x22aeece6
jmp 0x40969d
mov eax, dword [0x43d584]
mov ecx, dword [0x43d580]
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, 0xcb9af31
mov ecx, 0xa1dcb0ab
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40969d
mov eax, dword [esi + 0x48]
mov eax, dword [eax]
mov dword [esi + 0x6c], eax
mov eax, dword [0x43d584]
mov ecx, dword [0x43d580]
mov edx, eax
add edx, 0x8d300fe2
sub edx, 1
sub edx, 0x8d300fe2
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, 0xcb9af31
mov ecx, 0x67ff3292
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40969d
mov dword [esi + 0x1c], 0x57ddf39
jmp 0x40969d
mov ecx, dword [0x43d584]
mov eax, dword [0x43d580]
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, 0x954a2ac2
mov ecx, 0xb63a6029
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40969d
mov eax, dword [esi + 0x48]
mov eax, dword [eax]
mov dword [esi + 0x70], eax
mov eax, dword [0x43d584]
mov ecx, dword [0x43d580]
mov edx, eax
add edx, 0x823e0365
sub edx, 1
sub edx, 0x823e0365
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, 0x954a2ac2
mov ecx, 0x15b470d0
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40969d
mov dword [esi + 0x1c], 0x263e3ea1
jmp 0x40969d
mov ecx, dword [esi + 0x70]
sub ecx, 0x2d2f35de
add ecx, 0xffffffff
add ecx, 0x2d2f35de
mov eax, dword [esi + 0x48]
mov dword [eax], ecx
mov dword [esi + 0x1c], 0x22aeece6
jmp 0x40969d
mov eax, dword [0x43d584]
mov ecx, dword [0x43d580]
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, 0x6fc23da8
mov ecx, 0xcd853784
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40969d
mov ecx, dword [esi + 0x4c]
lea eax, str.zsrbcqgqvtizegyxffngzurvpmlrjm
sub esp, 4
mov dword [esp], eax
call fcn.0041cc00
mov ecx, dword [esi + 0x50]
lea eax, str.zsrbcqgqvtizegyxffngzurvpmlrjm
sub esp, 4
mov dword [esp], eax
call fcn.0041cc00
mov eax, dword [esi + 0x4c]
mov ecx, dword [esi + 0x50]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0041ccc0
add esp, 8
and al, 1
mov byte [esi + 0x77], al
mov ecx, dword [esi + 0x50]
call fcn.0041c7f0
mov ecx, dword [esi + 0x4c]
call fcn.0041c7f0
mov eax, dword [0x43d584]
mov ecx, dword [0x43d580]
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, 0x6fc23da8
mov ecx, 0x10b57828
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40969d
mov dword [esi + 0x1c], 0x33f1f9af
jmp 0x40969d
mov eax, dword [0x43d584]
mov ecx, dword [0x43d580]
mov edx, eax
add edx, 0x8dee58e7
sub edx, 1
sub edx, 0x8dee58e7
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, 0x4e68d54d
mov ecx, 0xef631835
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40969d
mov dl, byte [esi + 0x77]
mov eax, 0xcab9e328
mov ecx, 0x941bf6d5
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40969d
mov eax, dword [esi + 0x54]
mov dword [eax], 0x30
mov dword [esi + 0x1c], 0x771e42d3
jmp 0x40969d
mov dword [esi + 0x1c], 0xb76631c9
jmp 0x40969d
mov eax, dword [esi + 0x54]
mov eax, dword [eax]
mov dword [esi + 0x78], eax
mov dword [esi + 0x1c], 0x82a6fdbf
jmp 0x40969d
mov eax, dword [0x43d584]
mov ecx, dword [0x43d580]
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, 0x5565ddf9
mov ecx, 0x330f7c92
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40969d
mov eax, dword [esi + 0x78]
cmp eax, 0
setg al
and al, 1
mov byte [esi + 0x7f], al
mov ecx, dword [0x43d584]
mov eax, dword [0x43d580]
mov edx, ecx
add edx, 0x980b706
sub edx, 1
sub edx, 0x980b706
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, 0x5565ddf9
mov ecx, 0xdc5a5012
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40969d
mov dl, byte [esi + 0x7f]
mov eax, 0xb2fad478
mov ecx, 0xfcebf4aa
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40969d
mov ecx, dword [0x43d584]
mov eax, dword [0x43d580]
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, 0xa46370eb
mov ecx, 0x3e73958b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40969d
mov dword [esi + 0x1c], 0x3a049bcc
jmp 0x40969d
mov ecx, dword [0x43d584]
mov eax, dword [0x43d580]
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, 0xacef5e03
mov ecx, 0x9202e2e0
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40969d
mov eax, dword [esi + 0x54]
mov ecx, dword [esi + 0x80]
mov dword [eax], ecx
mov eax, dword [0x43d584]
mov ecx, dword [0x43d580]
mov edx, eax
sub edx, 0xb0f9346d
sub edx, 1
add edx, 0xb0f9346d
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, 0xacef5e03
mov ecx, 0x858b5819
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40969d
mov dword [esi + 0x1c], 0xb76631c9
jmp 0x40969d
mov ecx, dword [0x43d584]
mov eax, dword [0x43d580]
mov edx, ecx
sub edx, 0x2039bcab
sub edx, 1
add edx, 0x2039bcab
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, 0xbfb32c15
mov ecx, 0xf7a6104
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40969d
mov ecx, dword [0x43d584]
mov eax, dword [0x43d580]
mov edx, ecx
sub edx, 0xf33a6e80
sub edx, 1
add edx, 0xf33a6e80
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, 0xbfb32c15
mov ecx, 0x2a2d2b41
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40969d
mov dword [esi + 0x1c], 0xcab9e328
jmp 0x40969d
mov eax, dword [esi + 0x58]
mov dword [eax], 0x59
mov dword [esi + 0x1c], 0x3cf01cff
jmp 0x40969d
mov ecx, dword [0x43d584]
mov eax, dword [0x43d580]
mov edx, ecx
sub edx, 0xd6431cf4
sub edx, 1
add edx, 0xd6431cf4
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, 0xca263a8d
mov ecx, 0x76f95c2
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40969d
mov eax, dword [esi + 0x58]
cmp dword [eax], 0
setg al
and al, 1
mov byte [esi + 0x87], al
mov eax, dword [0x43d584]
mov ecx, dword [0x43d580]
mov edx, eax
add edx, 0x1d6a359d
sub edx, 1
sub edx, 0x1d6a359d
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, 0xca263a8d
mov ecx, 0x61232170
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40969d
mov dl, byte [esi + 0x87]
mov eax, 0xc4f18eee
mov ecx, 0x6a439fbc
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40969d
mov eax, dword [esi + 0x58]
mov ecx, dword [eax]
add ecx, 0xea80dfd8
add ecx, 0xffffffff
sub ecx, 0xea80dfd8
mov eax, dword [esi + 0x58]
mov dword [eax], ecx
mov ecx, dword [0x43d584]
mov eax, dword [0x43d580]
mov edx, ecx
add edx, 0x12764721
sub edx, 1
sub edx, 0x12764721
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, 0xe46159d7
mov ecx, 0xf83e7cd0
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40969d
mov dword [esi + 0x1c], 0x244d7d72
jmp 0x40969d
mov dword [esi + 0x1c], 0x1213aaa8
jmp 0x40969d
mov ecx, dword [esi + 0x38]
call fcn.0041c7f0
mov ecx, dword [esi + 0x34]
call fcn.0041c7f0
mov dword [esi + 0x1c], 0xacbcc889
jmp 0x40969d
mov ecx, dword [0x43d584]
mov eax, dword [0x43d580]
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, 0xd453a8f4
mov ecx, 0x99959386
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40969d
mov ecx, dword [esi + 0x5c]
call fcn.0041c7f0
mov ecx, dword [esi + 0x60]
call fcn.0041c7f0
mov ecx, dword [0x43d584]
mov eax, dword [0x43d580]
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, 0xd453a8f4
mov ecx, 0xc9e54533
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40969d
fld dword [0x435238]
fstp xword [esi]
mov ecx, dword [esi + 0x88]
xor ecx, ebp
call fcn.00425ee0
fld xword [esi]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x58
mov dword [esi + 0x1c], 0xbb66479e
jmp 0x40969d
mov eax, dword [esi + 0x48]
mov dword [esi + 0x1c], 0xa1dcb0ab
jmp 0x40969d
mov eax, dword [esi + 0x48]
mov dword [esi + 0x1c], 0xb63a6029
jmp 0x40969d
mov dword [esi + 0x1c], 0x7c8d4456
jmp 0x40969d
mov dword [esi + 0x1c], 0x3e73958b
jmp 0x40969d
mov eax, dword [esi + 0x54]
mov ecx, dword [esi + 0x80]
mov dword [eax], ecx
mov dword [esi + 0x1c], 0x9202e2e0
jmp 0x40969d
mov dword [esi + 0x1c], 0xf7a6104
jmp 0x40969d
mov eax, dword [esi + 0x58]
mov dword [esi + 0x1c], 0x76f95c2
jmp 0x40969d
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 + 0x1c], 0x1ace69b
jmp 0x40969d
mov ecx, dword [esi + 0x5c]
call fcn.0041c7f0
mov ecx, dword [esi + 0x60]
call fcn.0041c7f0
mov dword [esi + 0x1c], 0x99959386
jmp 0x407eaf