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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x4d0
mov esi, esp
mov dword [esi + 0x388], 0x8a293d4d
lea eax, [esi + 0x388]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x388]
mov ecx, eax
sub ecx, 0x82764023
je 0x413a81
jmp 0x40f33a
mov ecx, eax
sub ecx, 0x83fb29b8
je 0x41277b
jmp 0x40f34a
mov ecx, eax
sub ecx, 0x84fa4555
je 0x413649
jmp 0x40f35a
mov ecx, eax
sub ecx, 0x8535d360
je 0x41037c
jmp 0x40f36a
mov ecx, eax
sub ecx, 0x85c748cf
je 0x413add
jmp 0x40f37a
mov ecx, eax
sub ecx, 0x866ebe09
je 0x412f18
jmp 0x40f38a
mov ecx, eax
sub ecx, 0x86d9fb37
je 0x412789
jmp 0x40f39a
mov ecx, eax
sub ecx, 0x875ab91b
je 0x41288c
jmp 0x40f3aa
mov ecx, eax
sub ecx, 0x880113e7
je 0x411737
jmp 0x40f3ba
mov ecx, eax
sub ecx, 0x8838e60d
je 0x412597
jmp 0x40f3ca
mov ecx, eax
sub ecx, 0x88558f5b
je 0x4127ec
jmp 0x40f3da
mov ecx, eax
sub ecx, 0x8a293d4d
je 0x40ff6c
jmp 0x40f3ea
mov ecx, eax
sub ecx, 0x8e2c792f
je 0x41449d
jmp 0x40f3fa
mov ecx, eax
sub ecx, 0x8e4e5f7a
je 0x41230a
jmp 0x40f40a
mov ecx, eax
sub ecx, 0x8e674453
je 0x413ea3
jmp 0x40f41a
mov ecx, eax
sub ecx, 0x8e892114
je 0x4115be
jmp 0x40f42a
mov ecx, eax
sub ecx, 0x9005cacf
je 0x413ec5
jmp 0x40f43a
mov ecx, eax
sub ecx, 0x93cb9432
je 0x41273d
jmp 0x40f44a
mov ecx, eax
sub ecx, 0x97693293
je 0x413010
jmp 0x40f45a
mov ecx, eax
sub ecx, 0x976d0ff3
je 0x4117d4
jmp 0x40f46a
mov ecx, eax
sub ecx, 0x978f141e
je 0x411e54
jmp 0x40f47a
mov ecx, eax
sub ecx, 0x98d84e98
je 0x41283a
jmp 0x40f48a
mov ecx, eax
sub ecx, 0x9e41c16c
je 0x413c9b
jmp 0x40f49a
mov ecx, eax
sub ecx, 0x9e6a5901
je 0x413f25
jmp 0x40f4aa
mov ecx, eax
sub ecx, 0xa23022ae
je 0x410680
jmp 0x40f4ba
mov ecx, eax
sub ecx, 0xa2c701a3
je 0x413d62
jmp 0x40f4ca
mov ecx, eax
sub ecx, 0xa65ec730
je 0x412a59
jmp 0x40f4da
mov ecx, eax
sub ecx, 0xa7f70159
je 0x41150c
jmp 0x40f4ea
mov ecx, eax
sub ecx, 0xa8ee7716
je 0x411052
jmp 0x40f4fa
mov ecx, eax
sub ecx, 0xa8fc65f5
je 0x411e9b
jmp 0x40f50a
mov ecx, eax
sub ecx, 0xab3fba5f
je 0x4127fa
jmp 0x40f51a
mov ecx, eax
sub ecx, 0xadd741ca
je 0x413a53
jmp 0x40f52a
mov ecx, eax
sub ecx, 0xb6fdc051
je 0x412a3f
jmp 0x40f53a
mov ecx, eax
sub ecx, 0xb93a1f13
je 0x4135c0
jmp 0x40f54a
mov ecx, eax
sub ecx, 0xbbf29c02
je 0x412a67
jmp 0x40f55a
mov ecx, eax
sub ecx, 0xbc180269
je 0x413edb
jmp 0x40f56a
mov ecx, eax
sub ecx, 0xbc7f2426
je 0x412f86
jmp 0x40f57a
mov ecx, eax
sub ecx, 0xbca27a0f
je 0x4105af
jmp 0x40f58a
mov ecx, eax
sub ecx, 0xbd98a05d
je 0x411453
jmp 0x40f59a
mov ecx, eax
sub ecx, 0xbfa43527
je 0x4135f0
jmp 0x40f5aa
mov ecx, eax
sub ecx, 0xc20f9364
je 0x41265f
jmp 0x40f5ba
mov ecx, eax
sub ecx, 0xc24d3fcf
je 0x411e62
jmp 0x40f5ca
mov ecx, eax
sub ecx, 0xc43459b7
je 0x4112f8
jmp 0x40f5da
mov ecx, eax
sub ecx, 0xc45db975
je 0x4114cf
jmp 0x40f5ea
mov ecx, eax
sub ecx, 0xc5e2d20c
je 0x4103f0
jmp 0x40f5fa
mov ecx, eax
sub ecx, 0xc7c75710
je 0x4105fc
jmp 0x40f60a
mov ecx, eax
sub ecx, 0xc8d613ae
je 0x41074c
jmp 0x40f61a
mov ecx, eax
sub ecx, 0xc95d9927
je 0x413b2b
jmp 0x40f62a
mov ecx, eax
sub ecx, 0xc9a3c100
je 0x410ab3
jmp 0x40f63a
mov ecx, eax
sub ecx, 0xca8ecdbf
je 0x4136b2
jmp 0x40f64a
mov ecx, eax
sub ecx, 0xccef3eca
je 0x412246
jmp 0x40f65a
mov ecx, eax
sub ecx, 0xcd809dca
je 0x4109f6
jmp 0x40f66a
mov ecx, eax
sub ecx, 0xce4207ed
je 0x413dd7
jmp 0x40f67a
mov ecx, eax
sub ecx, 0xd07143ab
je 0x411180
jmp 0x40f68a
mov ecx, eax
sub ecx, 0xd0edb019
je 0x410632
jmp 0x40f69a
mov ecx, eax
sub ecx, 0xd23dbd31
je 0x412fcc
jmp 0x40f6aa
mov ecx, eax
sub ecx, 0xd264eb29
je 0x412759
jmp 0x40f6ba
mov ecx, eax
sub ecx, 0xd26be547
je 0x4103a6
jmp 0x40f6ca
mov ecx, eax
sub ecx, 0xd3cb1ccb
je 0x411164
jmp 0x40f6da
mov ecx, eax
sub ecx, 0xd3eea96c
je 0x412cb0
jmp 0x40f6ea
mov ecx, eax
sub ecx, 0xd559fadf
je 0x413666
jmp 0x40f6fa
mov ecx, eax
sub ecx, 0xd5d35622
je 0x411729
jmp 0x40f70a
mov ecx, eax
sub ecx, 0xd6d62e5a
je 0x411156
jmp 0x40f71a
mov ecx, eax
sub ecx, 0xd7928df3
je 0x41196a
jmp 0x40f72a
mov ecx, eax
sub ecx, 0xd98e77cd
je 0x41038e
push eax
mov eax, esp
mov dword [esi + 0x400], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x108], eax
push eax
mov eax, esp
mov dword [esi + 0x404], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x10c], eax
push eax
mov eax, esp
mov dword [esi + 0x408], eax
push eax
mov eax, esp
mov dword [esi + 0x2c8], eax
push eax
mov eax, esp
mov dword [esi + 0x40c], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x2cc], eax
push eax
mov eax, esp
mov dword [esi + 0x410], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x2d0], eax
push eax
mov eax, esp
mov dword [esi + 0x414], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x110], eax
push eax
mov eax, esp
mov dword [esi + 0x2d4], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x114], eax
push eax
mov eax, esp
mov dword [esi + 0x418], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x118], eax
push eax
mov eax, esp
mov dword [esi + 0x41c], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x2d8], eax
push eax
mov eax, esp
mov dword [esi + 0x420], eax
push eax
mov eax, esp
mov dword [esi + 0x2dc], eax
push eax
mov eax, esp
mov dword [esi + 0x424], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x2e0], eax
push eax
mov eax, esp
mov dword [esi + 0x428], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x2e4], eax
push eax
mov eax, esp
mov dword [esi + 0x42c], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x2e8], eax
push eax
mov eax, esp
mov dword [esi + 0x430], eax
push eax
mov eax, esp
mov dword [esi + 0x38], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x2ec], eax
push eax
mov eax, esp
mov dword [esi + 0x434], eax
sub esp, 0x88
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x68], eax
push eax
mov eax, esp
mov dword [esi + 0x11c], eax
push eax
mov eax, esp
mov dword [esi + 0x438], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x2f0], eax
push eax
mov eax, esp
mov dword [esi + 0x43c], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x2f4], eax
push eax
mov eax, esp
mov dword [esi + 0x440], eax
push eax
mov eax, esp
mov dword [esi + 0x6c], eax
push eax
mov eax, esp
mov dword [esi + 0x2f8], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x70], eax
push eax
mov eax, esp
mov dword [esi + 0x2fc], eax
push eax
mov eax, esp
mov dword [esi + 0x120], eax
push eax
mov eax, esp
mov dword [esi + 0x444], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x124], eax
push eax
mov eax, esp
mov dword [esi + 0x448], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x300], eax
push eax
mov eax, esp
mov dword [esi + 0x44c], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x304], eax
push eax
mov eax, esp
mov dword [esi + 0x450], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x308], eax
push eax
mov eax, esp
mov dword [esi + 0x454], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x30c], eax
push eax
mov eax, esp
mov dword [esi + 0x458], eax
push eax
mov eax, esp
mov dword [esi + 0x310], eax
push eax
mov eax, esp
mov dword [esi + 0x45c], eax
sub esp, 0x10
mov eax, esp
mov dword [esi + 0x3c], eax
push eax
mov eax, esp
mov dword [esi + 0x18], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x314], eax
push eax
mov eax, esp
mov dword [esi + 0x460], eax
sub esp, 0x88
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x1c], eax
push eax
push eax
mov eax, esp
mov dword [esi + 0x74], eax
push eax
mov eax, esp
mov dword [esi + 0x464], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x78], eax
push eax
mov eax, esp
mov dword [esi + 0x318], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x7c], eax
push eax
mov eax, esp
mov dword [esi + 0x31c], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x320], eax
push eax
mov eax, esp
mov dword [esi + 0x468], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x324], eax
push eax
mov eax, esp
mov dword [esi + 0x46c], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x328], eax
push eax
mov eax, esp
mov dword [esi + 0x470], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x32c], eax
push eax
mov eax, esp
mov dword [esi + 0x474], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x330], eax
push eax
mov eax, esp
mov dword [esi + 0x478], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x334], eax
push eax
mov eax, esp
mov dword [esi + 0x47c], eax
sub esp, 0x10
mov eax, esp
mov dword [esi + 0x20], eax
sub esp, 0x88
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x80], eax
push eax
mov eax, esp
mov dword [esi + 0x128], eax
push eax
mov eax, esp
mov dword [esi + 0x480], eax
push eax
mov eax, esp
mov dword [esi + 0x12c], eax
push eax
mov eax, esp
mov dword [esi + 0x484], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x338], eax
push eax
mov eax, esp
mov dword [esi + 0x488], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x33c], eax
push eax
mov eax, esp
mov dword [esi + 0x48c], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x340], eax
push eax
mov eax, esp
mov dword [esi + 0x490], eax
sub esp, 0x88
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x84], eax
mov al, byte [esi + 0x188]
mov byte [esi + 0x18c], al
mov byte [esi + 0x54], 0x69
mov byte [esi + 0x55], 7
mov eax, 2
mov byte [esi + eax + 0x54], 0
add eax, 1
cmp eax, 4
jne 0x410304
xor eax, eax
cmp eax, 4
jae 0x410341
movzx edx, byte [esi + eax + 0x54]
mov ecx, 0x7e
sub ecx, eax
and ecx, edx
mov edi, eax
add edi, 0x81
xor edx, 0xffffffff
and edi, edx
or ecx, edi
add cl, 0x7b
mov byte [esi + eax + 0x54], cl
add eax, 1
jmp 0x410313
lea eax, [esi + 0x54]
sub esp, 8
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00401960
add esp, 8
mov dword [esi + 0x130], eax
mov eax, 0x8535d360
cmp dword [esi + 0x130], 0
je 0x410372
mov eax, 0xd98e77cd
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x4144d1
mov eax, dword [esi + 4]
mov dword [eax], 0x8e674453
mov byte [esi + 0xc], 0
jmp 0x4144d1
mov eax, dword [esi + 0x284]
mov dword [esi + 0x134], eax
mov eax, dword [esi + 0x130]
sub esp, 4
mov dword [esp], eax
call fcn.00401b70
add esp, 4
mov ecx, 0x523570d4
cmp dword [esi + 0x134], eax
jb 0x4103d8
mov ecx, 0x1d08e379
mov eax, dword [esi + 4]
mov dword [eax], ecx
jmp 0x4144d1
mov eax, dword [esi + 4]
mov dword [eax], 0xa0f2d72
jmp 0x4144d1
fld qword [esi + 0x4c0]
fnstcw word [esi + 0x62]
movzx eax, word [esi + 0x62]
or eax, 0xc00
mov word [esi + 0x272], ax
fldcw word [esi + 0x272]
fistp dword [esi + 0x3ec]
fldcw word [esi + 0x62]
mov eax, dword [esi + 0x3ec]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 4]
mov dword [eax], 0xe663bddd
jmp 0x4144d1
mov eax, dword [esi + 4]
mov dword [eax], 0x23b680fc
jmp 0x4144d1
mov eax, 0x4f28e771
cmp dword [esi + 0x40], 3
jl 0x410642
mov eax, 0x3f1b8c4b
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x4144d1
mov eax, 0x6292f29d
cmp dword [esi + 0x40], 0
je 0x410690
mov eax, 0x2ed64fc7
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x4144d1
mov eax, dword [esi + 0x40c]
mov ecx, dword [esi + 0x2c8]
mov al, byte [eax]
mov byte [esi + 0x19c], al
mov byte [ecx], 0x8b
mov byte [ecx + 1], 0x8f
mov byte [ecx + 2], 0x8e
mov byte [ecx + 3], 0xb1
mov eax, dword [esi + 0x2c8]
mov dword [esi + 0xd0], eax
xor ecx, ecx
cmp ecx, 4
jae 0x4107e0
mov eax, dword [esi + 0xd0]
mov dl, byte [eax + ecx]
movzx eax, dl
mov dword [esi + 0x3b8], eax
mov edi, ecx
add edi, 0xd563859d
mov eax, 0x2a9c7a62
sub eax, ecx
and eax, 0x7948c92c
mov ebx, edi
and ebx, 0x6b736d3
or eax, ebx
xor eax, dword [esi + 0x3b8]
xor eax, 0x53
and edi, eax
shl edi, 1
mov eax, ecx
sub eax, edi
add al, 0x9d
add al, dl
add al, 0xef
mov edx, dword [esi + 0xd0]
mov byte [edx + ecx], al
mov eax, ecx
shl eax, 1
and eax, 2
xor ecx, 1
add ecx, eax
jmp 0x41077d
mov eax, dword [esi + 0xd0]
mov eax, dword [eax]
mov dword [esi + 0x3c8], eax
mov eax, dword [esi + 0x410]
mov ecx, dword [esi + 0x2cc]
mov al, byte [eax]
mov byte [esi + 0x1a0], al
mov byte [ecx], 0x97
mov byte [ecx + 1], 0xfb
mov eax, 2
mov byte [ecx + eax], 0
add eax, 1
cmp eax, 8
jne 0x41080e
mov ecx, dword [esi + 0x2cc]
xor eax, eax
cmp eax, 8
jae 0x41086b
movzx edx, byte [ecx + eax]
mov dword [esi + 0x3bc], edx
mov edx, eax
add edx, 1
mov ebx, eax
xor ebx, 0xffffffff
or ebx, 0xd2e6657f
mov edi, eax
or edi, 0xd2e6657f
add ebx, edi
add edx, ebx
xor edx, dword [esi + 0x3bc]
mov edi, edx
and edi, 1
or edx, 1
add edx, 0x84
add edx, edi
mov byte [ecx + eax], dl
add eax, 1
jmp 0x410822
mov eax, dword [esi + 8]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esi + 0x3c8]
mov dword [esp + 8], eax
call fcn.00401b10
add esp, 0xc
mov ecx, 0x41359f9b
cmp eax, 0
jne 0x410899
mov ecx, 0x59ad61cf
mov eax, dword [esi + 4]
mov dword [eax], ecx
jmp 0x4144d1
mov ecx, dword [esi + 0x418]
mov eax, dword [esi + 0x114]
mov cl, byte [ecx]
mov byte [esi + 0x1b0], cl
mov byte [eax], 0x1e
mov byte [eax + 1], 0x2e
mov byte [eax + 2], 0xba
mov ecx, 3
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 5
jne 0x410a1a
mov eax, dword [esi + 0x114]
xor edi, edi
cmp edi, 5
jae 0x410a60
mov bl, byte [eax + edi]
movzx ecx, bl
mov dword [esi + 0x394], ecx
mov ecx, edi
add ecx, 0x2fae099f
mov edx, ecx
and edx, dword [esi + 0x394]
shl edx, 1
sub ecx, edx
add cl, bl
add cl, 0xe5
mov byte [eax + edi], cl
add edi, 1
jmp 0x410a2e
mov ecx, dword [esi + 8]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 3
call fcn.00401b10
add esp, 0xc
cmp eax, 0
setne cl
xor cl, 0xff
mov eax, 0x2ed64fc7
test cl, 1
jne 0x410a95
mov eax, 0xc9a3c100
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x4144d1
mov eax, dword [esi + 0x118]
mov ecx, dword [esi + 0x41c]
mov eax, dword [esi + 0x118]
mov cl, byte [ecx]
mov byte [esi + 0x1b4], cl
mov byte [eax], 0x4c
mov byte [eax + 1], 0xff
mov ecx, 2
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 6
jne 0x410ad9
mov eax, dword [esi + 0x118]
mov dword [esi + 0xf0], eax
xor eax, eax
cmp eax, 6
jae 0x410b7e
mov ecx, dword [esi + 0xf0]
movzx edi, byte [ecx + eax]
mov ecx, eax
add ecx, 0xd567d6d5
mov edx, eax
shl edx, 1
add edx, 0xaacfadab
mov ebx, ecx
sub ebx, edx
mov edx, edi
xor edx, 0xa4b4d90d
mov dword [esi + 0x3b0], edx
and ebx, 0xa4b4d90d
and ecx, 0x5b4b26f2
or ecx, ebx
xor edi, 0xa4b4d90d
mov edx, ecx
and edx, edi
or ecx, dword [esi + 0x3b0]
xor edx, ecx
mov ecx, edx
and ecx, 1
or edx, 1
add edx, 0xd6
add edx, ecx
mov ecx, dword [esi + 0xf0]
mov byte [ecx + eax], dl
add eax, 0x7b4abfd
mov ecx, eax
xor ecx, 0x7b4abfc
shl eax, 1
and eax, 0x806
sub eax, ecx
jmp 0x410af3
mov eax, dword [esi + 8]
sub esp, 8
mov dword [esp], eax
mov eax, dword [esi + 0xf0]
mov dword [esp + 4], eax
call fcn.00401890
add esp, 8
mov dword [esi + 0x27c], eax
mov ecx, dword [esi + 0x420]
mov eax, dword [esi + 0x2d8]
mov cl, byte [ecx]
mov byte [esi + 0x1b8], cl
mov byte [eax], 0x6d
mov byte [eax + 1], 1
mov ecx, 2
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 7
jne 0x410bbf
mov eax, dword [esi + 0x2d8]
xor ecx, ecx
cmp ecx, 7
jae 0x410be7
mov dl, byte [eax + ecx]
mov dh, cl
xor dh, dl
mov byte [eax + ecx], dh
add ecx, 1
jmp 0x410bd3
mov ecx, dword [esi + 8]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00401960
add esp, 8
mov dword [esi + 0x344], eax
mov ecx, dword [esi + 0x424]
mov eax, dword [esi + 0x2dc]
mov cl, byte [ecx]
mov byte [esi + 0x1bc], cl
mov byte [eax], 0x76
mov byte [eax + 1], 0xff
mov ecx, 2
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 4
jne 0x410c22
mov eax, dword [esi + 0x2dc]
mov dword [esi + 0xdc], eax
xor ecx, ecx
cmp ecx, 4
jae 0x410c92
mov eax, dword [esi + 0xdc]
movzx edi, byte [eax + ecx]
mov edx, ecx
add edx, 0x55
mov eax, ecx
add eax, 0x55
or edx, eax
and edx, edi
mov eax, 0x222c8daa
sub eax, ecx
mov ebx, 0x222c8daa
sub ebx, ecx
or eax, ebx
xor eax, 0xffffffff
or edi, eax
xor edx, edi
mov eax, edx
and eax, 0xaa
xor eax, 0xaa
and edx, 0x55
sub edx, eax
add dl, 1
mov eax, dword [esi + 0xdc]
mov byte [eax + ecx], dl
add ecx, 1
jmp 0x410c3c
mov eax, dword [esi + 8]
sub esp, 8
mov dword [esp], eax
mov eax, dword [esi + 0xdc]
mov dword [esp + 4], eax
call fcn.00401890
add esp, 8
mov dword [esi + 0x348], eax
mov ecx, dword [esi + 0x428]
mov eax, dword [esi + 0x2e0]
mov cl, byte [ecx]
mov byte [esi + 0x1c0], cl
mov byte [eax], 0xa8
mov byte [eax + 1], 0xf
mov ecx, 2
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 6
jne 0x410cd3
mov eax, dword [esi + 0x2e0]
mov dword [esi + 0xc0], eax
xor edi, edi
cmp edi, 6
jae 0x410d43
mov eax, dword [esi + 0xc0]
movzx ebx, byte [eax + edi]
mov ecx, 0xf46b94c2
sub ecx, edi
and ecx, 0xaf08b1fa
mov eax, 0x746b94c2
sub eax, edi
and eax, 0x50f74e05
mov edx, ebx
xor edx, 0xfa
or eax, ecx
mov ecx, eax
xor ecx, 5
xor eax, 0xfa
and edx, eax
xor ebx, 5
and ecx, ebx
or ecx, edx
add cl, 0xcf
mov eax, dword [esi + 0xc0]
mov byte [eax + edi], cl
add edi, 1
jmp 0x410ced
mov eax, dword [esi + 8]
sub esp, 8
mov ecx, dword [esi + 0xc0]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.004018f0
add esp, 8
fnstcw word [esi + 0x60]
movzx eax, word [esi + 0x60]
or eax, 0xc00
mov word [esi + 0x270], ax
fldcw word [esi + 0x270]
fistp dword [esi + 0x3f4]
fldcw word [esi + 0x60]
mov eax, dword [esi + 0x3f4]
mov dword [esi + 0x494], eax
mov ecx, dword [esi + 0x42c]
mov eax, dword [esi + 0x2e4]
mov cl, byte [ecx]
mov byte [esi + 0x1c4], cl
mov byte [eax], 0x7a
mov byte [eax + 1], 0x8a
mov byte [eax + 2], 0x1e
mov ecx, 3
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 6
jne 0x410db0
mov eax, dword [esi + 0x2e4]
xor ecx, ecx
cmp ecx, 6
jae 0x410df1
movzx edi, byte [eax + ecx]
mov edx, ecx
add edx, 0x386e8405
xor edx, edi
mov edi, edx
shl edi, 1
and edi, 2
xor edx, 1
add edx, 0xe6
add edx, edi
mov byte [eax + ecx], dl
add ecx, 1
jmp 0x410dc4
mov ecx, dword [esi + 8]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004018f0
add esp, 8
fnstcw word [esi + 0x5e]
movzx eax, word [esi + 0x5e]
or eax, 0xc00
mov word [esi + 0x26e], ax
fldcw word [esi + 0x26e]
fistp dword [esi + 0x3f0]
fldcw word [esi + 0x5e]
mov eax, dword [esi + 0x3f0]
mov dword [esi + 0x498], eax
mov ecx, dword [esi + 0x430]
mov eax, dword [esi + 0x2e8]
mov cl, byte [ecx]
mov byte [esi + 0x1c8], cl
mov byte [eax], 0x7e
mov byte [eax + 1], 0x85
mov byte [eax + 2], 0x12
mov ecx, 3
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 5
jne 0x410e58
mov eax, dword [esi + 0x2e8]
mov dword [esi + 0xec], eax
xor eax, eax
cmp eax, 5
jae 0x410eda
mov ecx, dword [esi + 0xec]
mov cl, byte [ecx + eax]
mov byte [esi + 0xf], cl
movzx ebx, cl
mov ecx, eax
add ecx, 0xe1f65c04
mov edx, ecx
and edx, ebx
shl edx, 1
mov edi, ecx
add edi, ebx
xor edi, 0xffffffff
add edx, edi
and ecx, edx
mov edi, ecx
and edi, 0xfd
mov edx, ecx
and edx, 2
xor edx, 2
imul edx, edi
mov edi, ecx
and edi, 2
or ecx, 2
imul ecx, edi
add ecx, edx
mov edx, eax
sub edx, ecx
add dl, 4
add dl, byte [esi + 0xf]
add dl, 0xec
mov ecx, dword [esi + 0xec]
mov byte [ecx + eax], dl
add eax, 1
jmp 0x410e72
mov eax, dword [esi + 8]
sub esp, 8
mov dword [esp], eax
mov eax, dword [esi + 0xec]
mov dword [esp + 4], eax
call fcn.004019c0
add esp, 8
cmp eax, 0
setg al
and al, 1
mov byte [esi + 0x11], al
sub esp, 4
mov eax, dword [esi + 0x27c]
mov dword [esp], eax
call fcn.00418be0
add esp, 4
mov dword [esi + 0x138], eax
mov eax, dword [esi + 0x138]
mov edi, eax
and edi, 1
or eax, 1
add edi, eax
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x410f42
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.00408380
add esp, 4
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x24]
xor ecx, ecx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], edi
mov eax, dword [esi + 0x27c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0040aaf0
add esp, 0x10
mov eax, dword [0x44ce34]
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x138]
mov edi, dword [esi + 0x38]
xor ebx, ebx
sub esp, 0x18
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], edi
call eax
mov edx, dword [esi + 0x434]
mov ecx, dword [esi + 0x2ec]
mov dl, byte [edx]
mov byte [esi + 0x1cc], dl
mov byte [ecx], 0xd1
mov byte [ecx + 1], 0xfb
mov byte [ecx + 2], 0xfa
mov byte [ecx + 3], 0xb9
mov edx, 4
mov byte [ecx + edx], 0
add edx, 1
cmp edx, 5
jne 0x410fdf
mov ecx, dword [esi + 0x2ec]
xor edi, edi
cmp edi, 5
jae 0x411038
movzx ebx, byte [ecx + edi]
mov edx, edi
add edx, 0x61659cab
xor edx, ebx
add edx, 0xc364eec
mov ebx, edx
shl ebx, 1
and ebx, 0x3207e150
xor edx, 0x1903f0a8
add edx, ebx
mov ebx, edx
xor ebx, 0xec
shl edx, 1
and edx, 0x26
sub edx, ebx
add dl, 1
mov byte [ecx + edi], dl
add edi, 1
jmp 0x410ff3
mov edx, dword [ecx]
mov ecx, 0xa8ee7716
cmp eax, edx
jne 0x411048
mov ecx, 0xe7d6253a
mov eax, dword [esi + 4]
mov dword [eax], ecx
jmp 0x4144d1
mov eax, dword [esi + 4]
mov dword [eax], 0x680bb361
jmp 0x4144d1
mov eax, dword [esi + 4]
mov dword [eax], 0xd3cb1ccb
jmp 0x4144d1
mov eax, dword [esi + 4]
mov dword [eax], 0x6e34d4f2
jmp 0x4144d1
mov eax, dword [esi + 4]
mov dword [eax], 0x41003e27
jmp 0x4144d1
mov eax, dword [esi + 0x148]
sub esp, 4
mov dword [esp], eax
call fcn.00418be0
add esp, 4
mov edi, eax
mov eax, edi
and eax, 1
or edi, 1
add edi, eax
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x411330
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.00408380
add esp, 4
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x88]
mov ecx, dword [esi + 0x148]
xor edx, edx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
call fcn.0040aaf0
add esp, 0x10
mov ecx, dword [esi + 0x88]
mov eax, dword [esi + 0x140]
mov dword [esi + 0x3b4], eax
mov edx, dword [esi + 0x13c]
mov al, byte [esi + 0x11]
mov byte [esi + 0xd], al
mov edi, dword [esi + 0x498]
mov eax, dword [esi + 0x494]
mov ebx, dword [esi + 0x68]
sub esp, 0x1c
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov eax, dword [esi + 0x3b4]
mov dword [esp + 4], eax
mov dword [esp], ebx
movzx eax, byte [esi + 0xd]
and eax, 1
mov dword [esp + 0x18], eax
call fcn.00422fa0
add esp, 0x1c
mov eax, dword [esi + 4]
mov dword [eax], 0x79794604
jmp 0x4144d1
mov eax, dword [esi + 0x140]
sub esp, 4
mov dword [esp], eax
call fcn.00408390
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0x7a826feb
jmp 0x4144d1
mov ecx, dword [esi + 0x68]
call fcn.004098f0
mov ecx, dword [esi + 0x68]
call fcn.00408fa0
mov eax, dword [esi + 4]
mov dword [eax], 0xe44ff5dc
jmp 0x4144d1
mov eax, dword [esi + 0x11c]
mov ecx, dword [esi + 0x438]
mov eax, dword [esi + 0x11c]
mov cl, byte [ecx]
mov byte [esi + 0x1d0], cl
mov byte [eax], 0xbd
mov byte [eax + 1], 0xdb
mov ecx, 2
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 4
jne 0x411532
mov eax, dword [esi + 0x11c]
xor edi, edi
cmp edi, 4
jae 0x411588
mov dl, byte [eax + edi]
mov ebx, edi
and ebx, 0xb73aca9d
xor ebx, 0xb73aca9d
mov ecx, edi
and ecx, 0x48c53562
sub ecx, ebx
add ecx, 0x4aebc84f
mov ebx, ecx
shl ebx, 1
and ebx, 0x3a
xor ecx, 0x9d
add ecx, ebx
xor cl, dl
add cl, 0x75
mov byte [eax + edi], cl
add edi, 1
jmp 0x411546
mov ecx, dword [esi + 8]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
call fcn.00401b10
add esp, 0xc
mov ecx, 0x8e892114
cmp eax, 0
jne 0x4115b4
mov ecx, 0xfc6dd043
mov eax, dword [esi + 4]
mov dword [eax], ecx
jmp 0x4144d1
mov ecx, dword [esi + 0x43c]
mov eax, dword [esi + 0x2f0]
mov cl, byte [ecx]
mov byte [esi + 0x1d4], cl
mov byte [eax], 0x58
mov byte [eax + 1], 0xc9
mov ecx, 2
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 5
jne 0x4115de
mov edx, dword [esi + 0x2f0]
xor ecx, ecx
cmp ecx, 5
jae 0x411633
movzx edi, byte [edx + ecx]
mov dword [esi + 0x274], edx
mov edx, 0x57df16ad
sub edx, ecx
or edx, edi
mov ebx, 0xad
sub ebx, ecx
and ebx, edi
mov eax, ebx
xor eax, edx
xor ebx, edx
or eax, ebx
mov dl, 0x65
sub dl, al
mov eax, dword [esi + 0x274]
mov byte [eax + ecx], dl
mov edx, dword [esi + 0x274]
add ecx, 1
jmp 0x4115f2
mov eax, dword [esi + 8]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 2
call fcn.00401b10
add esp, 0xc
mov ecx, 0x24e94b9e
cmp eax, 0
jne 0x41165f
mov ecx, 0xfc6dd043
mov eax, dword [esi + 4]
mov dword [eax], ecx
jmp 0x4144d1
mov eax, dword [esi + 4]
mov dword [eax], 0x880113e7
jmp 0x4144d1
mov ecx, dword [esi + 0x2f8]
mov eax, dword [esi + 0x6c]
mov cl, byte [ecx]
mov byte [esi + 0x1e0], cl
mov byte [eax], 0x1a
mov byte [eax + 1], 0xeb
mov ecx, 2
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 4
jne 0x411754
mov eax, dword [esi + 0x6c]
xor ecx, ecx
cmp ecx, 4
jae 0x411790
movzx edi, byte [eax + ecx]
mov edx, ecx
add edx, 0xa7
or edx, edi
mov ebx, 0x58
sub ebx, ecx
or ebx, edi
add ebx, ecx
sub edx, ebx
add dl, 0x15
mov byte [eax + ecx], dl
add ecx, 1
jmp 0x411765
mov ecx, dword [esi + 8]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
call fcn.00401b10
add esp, 0xc
cmp eax, 0
setne al
and al, 1
mov byte [esi + 0x12], al
mov eax, dword [esi + 4]
mov dword [eax], 0x103ff447
jmp 0x4144d1
mov eax, 0x385deacb
test byte [esi + 0x12], 1
jne 0x4117e4
mov eax, 0xfc6dd043
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x4144d1
mov eax, dword [esi + 0x124]
mov ecx, dword [esi + 0x448]
mov eax, dword [esi + 0x124]
mov cl, byte [ecx]
mov byte [esi + 0x1f0], cl
mov byte [eax], 0xaf
mov byte [eax + 1], 0x31
mov ecx, 2
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 6
jne 0x411990
mov eax, dword [esi + 0x124]
xor ecx, ecx
cmp ecx, 6
jae 0x4119e5
mov eax, dword [esi + 4]
mov dword [eax], 0xc24d3fcf
jmp 0x4144d1
mov ecx, dword [esi + 0x3c]
sub esp, 4
mov dword [esp], 0x1000
call fcn.0043bfa0
mov ecx, 0xa8fc65f5
cmp eax, 0
jge 0x411e83
mov ecx, 0x536c6773
mov eax, dword [esi + 4]
mov dword [eax], ecx
jmp 0x4144d1
mov eax, dword [esi + 0x18]
mov eax, dword [esi + 0x18]
mov dword [eax], 0
mov eax, dword [esi + 0x3c]
mov eax, dword [eax]
mov dword [esi + 0x3dc], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x3d8], eax
mov al, byte [esi + 0x208]
mov byte [esi + 0x268], al
mov byte [esi + 0x20c], 0x9d
mov byte [esi + 0x20d], 0x9e
mov byte [esi + 0x20e], 0x9f
mov byte [esi + 0x20f], 0x90
mov eax, 4
mov byte [esi + eax + 0x20c], 0
add eax, 1
cmp eax, 6
jne 0x411ee8
xor eax, eax
cmp eax, 6
jae 0x411f4f
movzx edx, byte [esi + eax + 0x20c]
mov ecx, eax
add ecx, 0xef86c965
mov edi, ecx
and edi, edx
shl edi, 1
add ecx, edx
sub ecx, edi
mov edx, ecx
and edx, 4
mov ebx, ecx
and ebx, 4
mov edi, ecx
and edi, 2
xor edi, 2
imul edi, ebx
mov ebx, ecx
and ebx, 2
or edx, 2
imul edx, ebx
add edx, edi
xor ecx, 6
add ecx, edx
add cl, 1
mov byte [esi + eax + 0x20c], cl
add eax, 1
jmp 0x411efa
mov eax, dword [esi + 0x20c]
mov dword [esi + 0xc8], eax
xor edi, edi
mov ecx, 2
cmp edi, dword [0x44ce38]
jb 0x411f6f
jmp 0x411ffe
mov edx, dword [0x44ce3c]
cmp dword [edx + edi*8], 0xfc36c0a1
sete bh
xor ecx, ecx
mov bl, bh
test bh, 1
jne 0x411f8a
jmp 0x411fef
mov ecx, dword [edx + edi*8 + 4]
cmp ecx, dword [esi + 0xc8]
jne 0x411f9d
mov ecx, 2
jmp 0x411fef
mov eax, dword [0x44ce40]
xor edx, edx
sub esp, 0x20
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x14
mov eax, dword [esi + 0x3dc]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x2b
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov eax, dword [esi + 0x3d8]
mov dword [esp + 0x1c], eax
call fcn.0043e410
add esp, 0x20
mov ecx, 1
test bl, 1
je 0x411ff6
jmp 0x411ffe
add edi, 1
jmp 0x411f5d
cmp ecx, 2
je 0x412009
mov dword [esi + 0xc8], eax
mov ecx, dword [esi + 0x460]
mov eax, dword [esi + 0x314]
mov cl, byte [ecx]
mov byte [esi + 0x214], cl
mov byte [eax], 0x90
mov byte [eax + 1], 0x9b
mov byte [eax + 2], 0x9a
mov byte [eax + 3], 0xd9
mov ecx, 4
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 6
jne 0x412031
mov eax, dword [esi + 0x314]
xor ecx, ecx
cmp ecx, 6
jae 0x412072
movzx edi, byte [eax + ecx]
mov edx, ecx
add edx, 0x4c127cdb
xor edx, edi
mov edi, edx
shl edi, 1
and edi, 0x70
xor edx, 0xb8
add edx, edi
add dl, 1
mov byte [eax + ecx], dl
add ecx, 1
jmp 0x412045
mov ecx, dword [eax]
mov eax, 0xe9372edd
cmp dword [esi + 0xc8], ecx
je 0x412086
mov eax, 0x367cd872
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x4144d1
mov eax, dword [esi + 0x34c]
sub esp, 4
mov dword [esp], eax
call fcn.00418be0
add esp, 4
mov dword [esi + 0x360], eax
mov edi, dword [esi + 0x360]
add edi, 1
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x412281
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.00408380
add esp, 4
mov dword [esi + 0x150], eax
mov eax, dword [esi + 0x150]
mov ecx, dword [esi + 0x34c]
xor edx, edx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
call fcn.0040aaf0
add esp, 0x10
mov eax, dword [esi + 0x8c]
add eax, 4
mov dword [esi + 0x90], eax
mov eax, dword [esi + 0x90]
mov eax, dword [eax]
mov ecx, dword [esi + 0x8c]
movzx ecx, word [ecx]
shr ecx, 1
add ecx, 0xffffffff
shl ecx, 1
add eax, ecx
mov dword [esi + 0x364], eax
mov eax, dword [esi + 4]
mov dword [eax], 0x8e4e5f7a
mov eax, dword [esi + 0x364]
mov dword [esi + 0x28c], eax
jmp 0x4144d1
mov eax, dword [esi + 0x28c]
mov dword [esi + 0x94], eax
mov eax, dword [esi + 0x90]
mov ecx, dword [eax]
mov eax, 0x377f81fe
cmp dword [esi + 0x94], ecx
jae 0x412330
mov eax, 0x494ac52d
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [esi + 0x364]
mov dword [esi + 0x290], eax
jmp 0x4144d1
mov eax, dword [esi + 0x294]
mov dword [esi + 0x154], eax
mov eax, dword [esi + 0x350]
sub esp, 4
mov dword [esp], eax
call fcn.00401b70
add esp, 4
mov ecx, 0x123341e5
cmp dword [esi + 0x154], eax
jb 0x4125c9
mov ecx, 0x60cf335e
mov eax, dword [esi + 4]
mov dword [eax], ecx
jmp 0x4144d1
mov eax, dword [esi + 0x44]
sub esp, 4
mov dword [esp], eax
call fcn.00418be0
add esp, 4
mov edi, eax
add edi, 1
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x41268d
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.00408380
add esp, 4
mov dword [esi + 0xa4], eax
mov eax, dword [esi + 0xa4]
mov ecx, dword [esi + 0x44]
xor edx, edx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
call fcn.0040aaf0
add esp, 0x10
mov eax, dword [esi + 0xa4]
mov dword [esi + 0x3ac], eax
mov ecx, dword [esi + 0xa0]
mov edx, dword [esi + 0x9c]
mov eax, dword [esi + 0x35c]
mov dword [esi + 0x39c], eax
mov ebx, dword [esi + 0x358]
mov eax, dword [esi + 0x1c]
xor edi, edi
sub esp, 0x1c
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, dword [esi + 0x3ac]
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x39c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], 0
call fcn.00422fa0
add esp, 0x1c
mov eax, dword [esi + 4]
mov dword [eax], 0x93cb9432
jmp 0x4144d1
mov eax, dword [esi + 4]
mov dword [eax], 0x4d5605ec
jmp 0x4144d1
mov eax, dword [esi + 0xa4]
sub esp, 4
mov dword [esp], eax
call fcn.00408390
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0x83fb29b8
jmp 0x4144d1
mov eax, dword [esi + 4]
mov dword [eax], 0x86d9fb37
jmp 0x4144d1
mov eax, dword [esi + 4]
mov dword [eax], 0x8110b43
jmp 0x4144d1
mov eax, dword [esi + 4]
mov dword [eax], 0xab3fba5f
jmp 0x4144d1
mov eax, dword [esi + 0x9c]
sub esp, 4
mov dword [esp], eax
call fcn.00408390
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0x63246c1c
jmp 0x4144d1
mov eax, dword [esi + 0x1c]
mov eax, dword [esi + 4]
mov dword [eax], 0x4c9d06a3
jmp 0x4144d1
mov ecx, dword [esi + 0x3c]
call fcn.00418d30
mov eax, dword [esi + 4]
mov dword [eax], 0x2ed64fc7
jmp 0x4144d1
mov eax, 0xa65ec730
test byte [esi + 0x14], 1
jne 0x412a4f
mov eax, 0xbbf29c02
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x4144d1
mov eax, dword [esi + 4]
mov dword [eax], 0xca8ecdbf
jmp 0x4144d1
mov eax, dword [esi + 4]
mov dword [eax], 0x2a00527d
jmp 0x4144d1
mov eax, dword [esi + 0x298]
mov dword [esi + 0x160], eax
mov ecx, dword [esi + 0x468]
mov eax, dword [esi + 0x320]
mov cl, byte [ecx]
mov byte [esi + 0x238], cl
mov byte [eax], 0x5a
mov byte [eax + 1], 0xc9
mov ecx, 2
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 7
jne 0x412cdc
mov edi, dword [esi + 0x320]
xor ecx, ecx
cmp ecx, 7
jae 0x412d31
movzx eax, byte [edi + ecx]
mov edx, ecx
add edx, 0x6be924d2
mov ebx, edx
and ebx, eax
shl ebx, 1
add edx, eax
sub edx, ebx
mov ebx, edx
shl ebx, 1
and ebx, 0xca
xor edx, 0xe47247e5
mov eax, edx
add eax, ebx
shl edx, 1
and edx, 2
xor eax, 1
add eax, edx
mov byte [edi + ecx], al
add ecx, 1
jmp 0x412cf0
mov eax, dword [esi + 8]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00401890
add esp, 8
mov dword [esi + 0x164], eax
mov eax, 0xd9c4173e
cmp dword [esi + 0x164], 0
jne 0x412d5f
mov eax, 0x71d3d0d8
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov dword [esi + 0x29c], 0
jmp 0x4144d1
mov eax, dword [esi + 0xac]
sub esp, 4
mov dword [esp], eax
call fcn.00401b70
add esp, 4
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x28]
mov ecx, 0xc
mul ecx
seto dl
add eax, 4
setb cl
or dl, cl
mov ecx, 0xffffffff
test dl, 1
jne 0x412f50
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.00408380
add esp, 4
mov ecx, dword [esi + 0x28]
mov dword [eax], ecx
add eax, 4
mov dword [esi + 0xb0], eax
cmp dword [esi + 0x28], 0
sete al
and al, 1
mov byte [esi + 0x16], al
mov eax, dword [esi + 4]
mov dword [eax], 0xbc7f2426
jmp 0x4144d1
mov eax, 0x97693293
test byte [esi + 0x16], 1
jne 0x412f96
mov eax, 0x70f8fe1e
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x4144d1
mov edi, dword [esi + 0x2a0]
mov ecx, edi
call fcn.00418d40
add edi, 0xc
mov dword [esi + 0x370], edi
mov ecx, dword [esi + 0x370]
mov eax, 0x97693293
cmp ecx, dword [esi + 0x4ac]
je 0x412ffa
mov eax, 0xd23dbd31
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [esi + 0x370]
mov dword [esi + 0x2a0], eax
jmp 0x4144d1
mov eax, dword [esi + 4]
mov dword [eax], 0x1e2061a5
mov dword [esi + 0x2a4], 0
jmp 0x4144d1
mov eax, dword [esi + 4]
mov dword [eax], 0x4a567395
jmp 0x4144d1
cmp dword [esi + 0x160], 0
sete al
and al, 1
mov byte [esi + 0x17], al
mov eax, dword [esi + 4]
mov dword [eax], 0xebf09c38
jmp 0x4144d1
mov eax, 0x53a91448
cmp dword [esi + 0x168], 0
je 0x41365c
mov eax, 0xd559fadf
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x4144d1
mov eax, dword [esi + 0x168]
sub esp, 4
mov dword [esp], eax
call fcn.00408390
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0x53a91448
jmp 0x4144d1
mov eax, dword [esi + 4]
mov dword [eax], 0x2ed64fc7
jmp 0x4144d1
mov eax, dword [esi + 0xb8]
mov ecx, dword [esi + 0x30]
shl ecx, 3
add eax, ecx
mov dword [esi + 0x4b4], eax
mov eax, dword [esi + 4]
mov dword [eax], 0x82764023
mov eax, dword [esi + 0xb8]
mov dword [esi + 0x2b4], eax
jmp 0x4144d1
mov edi, dword [esi + 0x2b4]
mov ecx, edi
call fcn.00418ef0
add edi, 8
mov dword [esi + 0x37c], edi
mov ecx, dword [esi + 0x37c]
mov eax, 0x37f2e082
cmp ecx, dword [esi + 0x4b4]
je 0x413aaf
mov eax, 0x82764023
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [esi + 0x37c]
mov dword [esi + 0x2b4], eax
jmp 0x4144d1
mov eax, dword [esi + 0x2b8]
mov dword [esi + 0xbc], eax
mov ecx, dword [esi + 0xbc]
mov eax, 0xc95d9927
cmp ecx, dword [esi + 0x30]
jb 0x413afe
mov eax, 0xdc5c7a37
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x4144d1
mov eax, dword [esi + 0xbc]
mov ecx, dword [esi + 0x180]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00401b80
add esp, 8
mov dword [esi + 0x278], eax
mov ecx, dword [esi + 0x48c]
mov eax, dword [esi + 0x33c]
mov cl, byte [ecx]
mov byte [esi + 0x25c], cl
mov byte [eax], 0x5d
mov byte [eax + 1], 0x47
mov byte [eax + 2], 0xf2
mov ecx, 3
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 5
jne 0x413b73
mov edi, dword [esi + 0x33c]
xor ecx, ecx
cmp ecx, 5
jae 0x413bd0
movzx eax, byte [edi + ecx]
mov ebx, ecx
add ebx, 0x7897abd4
mov edx, 0x8768542b
sub edx, ecx
and edx, 0x8619500e
and ebx, 0x79e6aff1
or edx, ebx
xor edx, eax
xor edx, 0x79e6aff1
mov eax, 0xa509a4da
sub eax, edx
mov edx, eax
shl edx, 1
and edx, 2
xor eax, 1
add eax, edx
mov byte [edi + ecx], al
add ecx, 1
jmp 0x413b87
sub esp, 8
mov eax, dword [esi + 0x278]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00401890
add esp, 8
mov edi, eax
mov ecx, dword [esi + 0x490]
mov eax, dword [esi + 0x340]
mov cl, byte [ecx]
mov byte [esi + 0x260], cl
mov byte [eax], 0x2d
mov byte [eax + 1], 7
mov byte [eax + 2], 0x8e
mov ecx, 3
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 5
jne 0x413c0e
mov eax, dword [esi + 0x340]
xor ecx, ecx
cmp ecx, 5
jae 0x413c3c
mov dl, byte [eax + ecx]
mov dh, cl
add dh, 0xe2
xor dh, dl
add dh, 0x96
mov byte [eax + ecx], dh
add ecx, 1
jmp 0x413c22
sub esp, 8
mov ecx, dword [esi + 0x278]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00401890
add esp, 8
mov ecx, dword [esi + 0xbc]
shl ecx, 3
add ecx, dword [esi + 0xb8]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00418f00
mov eax, dword [esi + 0xbc]
sub eax, 0xffffffff
mov dword [esi + 0x4b8], eax
mov eax, dword [esi + 4]
mov dword [eax], 0x85c748cf
mov eax, dword [esi + 0x4b8]
mov dword [esi + 0x2b8], eax
jmp 0x4144d1
mov eax, dword [esi + 0x2bc]
mov edi, dword [esi + 0x2c0]
mov dword [esi + 0x34], eax
mov ecx, dword [esi + 0x84]
sub esp, 4
mov dword [esp], 3
call fcn.00408eb0
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x17c]
mov edx, dword [esi + 0x178]
mov ebx, dword [esi + 0x84]
sub esp, 0x14
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
call fcn.004212b0
add esp, 0x14
mov ecx, dword [esi + 0x84]
call fcn.004098f0
mov eax, 0x215a1424
cmp dword [esi + 0x34], 0
je 0x413d0d
mov eax, 0x3bf6aa46
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x4144d1
mov eax, dword [esi + 0x2c4]
add eax, 0xfffffff8
mov dword [esi + 0x184], eax
mov ecx, dword [esi + 0x184]
call fcn.00418fb0
mov ecx, dword [esi + 0x184]
mov eax, 0x7f290005
cmp ecx, dword [esi + 0x34]
je 0x413d91
mov eax, 0xa2c701a3
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [esi + 0x184]
mov dword [esi + 0x2c4], eax
jmp 0x4144d1
mov eax, dword [esi + 0x178]
sub esp, 4
mov dword [esp], eax
call fcn.00408390
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0xe6579b87
jmp 0x4144d1
mov al, byte [esi + 0xc]
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
inc edx
xor al, 0xe8
in al, dx
out dx, al
bound ebp, qword [eax]
mov eax, dword [esi + 4]
mov dword [eax], 0xc7c75710
jmp 0x4144d1
cmpsd dword [esi], dword es:[edi]
in eax, 0x67
pop ebx
mov ecx, 0x3ebed461
push ebp
pushfd
fmul qword [esi]
sbb al, 9
mov dl, 0x8b
mov ss, esp
add al, byte [eax]
add byte [ebx + 0x11086], cl
add byte [edx - 0x577177f7], cl
add dword [eax], eax
add dh, al
add ah, ch
mov byte [eax + 1], 9
mov ecx, 2
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 6
jne 0x413f0b
mov eax, dword [esi + 4]
mov dword [eax], 0x792306d2
jmp 0x4144d1
mov eax, dword [esi + 4]
mov dword [eax], 0xd3cb1ccb
jmp 0x4144d1
cdq
mov dword [esi], esp
adc byte [edi], 0x20
fisttp dword [ebx + 0xa886]
add byte [ebx + 0x48904ec], al
and al, 0xe8
fidivr dword [esi]
invalid
jmp 0x40f324