Function at 0x413270
Capabilities:
Check os version
Get file size
Hash data using fnv
Read file on windows
Resolve function by parsing pe exports
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x5f8
mov esi, esp
mov eax, dword [0x43b080]
xor eax, ebp
mov dword [esi + 0x5f0], eax
mov dword [esi + 0xe0], 0x5a116b6a
mov eax, dword [esi + 0xe0]
mov dword [esi + 0xdc], eax
sub eax, 0x821d65b0
je 0x413ef1
jmp 0x4132b4
mov eax, dword [esi + 0xdc]
sub eax, 0x83448ea0
je 0x413c96
jmp 0x4132ca
mov eax, dword [esi + 0xdc]
sub eax, 0x8706a406
je 0x41457e
jmp 0x4132e0
mov eax, dword [esi + 0xdc]
sub eax, 0x8e419b0b
je 0x418ac2
jmp 0x4132f6
mov eax, dword [esi + 0xdc]
sub eax, 0x8e9f422a
je 0x418dff
jmp 0x41330c
mov eax, dword [esi + 0xdc]
sub eax, 0x8f5118a8
je 0x418d44
jmp 0x413322
mov eax, dword [esi + 0xdc]
sub eax, 0x93856926
je 0x418d25
jmp 0x413338
mov eax, dword [esi + 0xdc]
sub eax, 0x94bbda0c
je 0x418bef
jmp 0x41334e
mov eax, dword [esi + 0xdc]
sub eax, 0x956aaf1a
je 0x413fc2
jmp 0x413364
mov eax, dword [esi + 0xdc]
sub eax, 0x99796afd
je 0x418ea9
jmp 0x41337a
mov eax, dword [esi + 0xdc]
sub eax, 0x9ab4fd00
je 0x418d16
jmp 0x413390
mov eax, dword [esi + 0xdc]
sub eax, 0x9c7ccb04
je 0x4188ce
jmp 0x4133a6
mov eax, dword [esi + 0xdc]
sub eax, 0xa24b47db
je 0x418df0
jmp 0x4133bc
mov eax, dword [esi + 0xdc]
sub eax, 0xa3afc947
je 0x41482e
jmp 0x4133d2
mov eax, dword [esi + 0xdc]
sub eax, 0xa5460df7
je 0x4147b6
jmp 0x4133e8
mov eax, dword [esi + 0xdc]
sub eax, 0xa5ee99bc
je 0x414a36
jmp 0x4133fe
mov eax, dword [esi + 0xdc]
sub eax, 0xa6eeffce
je 0x418ab3
jmp 0x413414
mov eax, dword [esi + 0xdc]
sub eax, 0xab275efb
je 0x414523
jmp 0x41342a
mov eax, dword [esi + 0xdc]
sub eax, 0xac57bafb
je 0x414022
jmp 0x413440
mov eax, dword [esi + 0xdc]
sub eax, 0xac747632
je 0x414229
jmp 0x413456
mov eax, dword [esi + 0xdc]
sub eax, 0xb22e03b4
je 0x414886
jmp 0x41346c
mov eax, dword [esi + 0xdc]
sub eax, 0xb26952af
je 0x4189b6
jmp 0x413482
mov eax, dword [esi + 0xdc]
sub eax, 0xb472584f
je 0x418e9a
jmp 0x413498
mov eax, dword [esi + 0xdc]
sub eax, 0xb6f6f24f
je 0x418dc8
jmp 0x4134ae
mov eax, dword [esi + 0xdc]
sub eax, 0xbdb67420
je 0x414731
jmp 0x4134c4
mov eax, dword [esi + 0xdc]
sub eax, 0xbee9f497
je 0x4148b3
jmp 0x4134da
mov eax, dword [esi + 0xdc]
sub eax, 0xc085f046
je 0x418b5c
jmp 0x4134f0
mov eax, dword [esi + 0xdc]
sub eax, 0xc24384bb
je 0x418de1
jmp 0x413506
mov eax, dword [esi + 0xdc]
sub eax, 0xcce8059e
je 0x4143a9
jmp 0x41351c
mov eax, dword [esi + 0xdc]
sub eax, 0xcd75874a
je 0x414098
jmp 0x413532
mov eax, dword [esi + 0xdc]
sub eax, 0xcef1b115
je 0x414197
jmp 0x413548
mov eax, dword [esi + 0xdc]
sub eax, 0xd1485390
je 0x4143b8
jmp 0x41355e
mov eax, dword [esi + 0xdc]
sub eax, 0xd28b083e
je 0x413e4c
jmp 0x413574
mov eax, dword [esi + 0xdc]
sub eax, 0xd5be660c
je 0x418f06
jmp 0x41358a
mov eax, dword [esi + 0xdc]
sub eax, 0xd785c5ec
je 0x4145cf
jmp 0x4135a0
mov eax, dword [esi + 0xdc]
sub eax, 0xda80a010
je 0x4141c9
jmp 0x4135b6
mov eax, dword [esi + 0xdc]
sub eax, 0xdb9b2a0f
je 0x413c87
jmp 0x4135cc
mov eax, dword [esi + 0xdc]
sub eax, 0xde6e2353
je 0x4148fc
jmp 0x4135e2
mov eax, dword [esi + 0xdc]
sub eax, 0xdf747f12
je 0x4142d2
jmp 0x4135f8
mov eax, dword [esi + 0xdc]
sub eax, 0xe27b0856
je 0x41484c
jmp 0x41360e
mov eax, dword [esi + 0xdc]
sub eax, 0xe75d3757
je 0x418ef7
jmp 0x413624
mov eax, dword [esi + 0xdc]
sub eax, 0xeaedb3ab
je 0x4141e2
jmp 0x41363a
mov eax, dword [esi + 0xdc]
sub eax, 0xf25600b1
je 0x4141f1
jmp 0x413650
mov eax, dword [esi + 0xdc]
sub eax, 0xf3d1c6a5
je 0x414722
jmp 0x413666
mov eax, dword [esi + 0xdc]
sub eax, 0xf452d3a8
je 0x413d0c
jmp 0x41367c
mov eax, dword [esi + 0xdc]
sub eax, 0xf4993f75
je 0x418db9
jmp 0x413692
mov eax, dword [esi + 0xdc]
sub eax, 0xf5cf730d
je 0x413dde
jmp 0x4136a8
mov eax, dword [esi + 0xdc]
sub eax, 0xf8725435
je 0x418e5e
jmp 0x4136be
mov eax, dword [esi + 0xdc]
sub eax, 0xf885445d
je 0x414a27
jmp 0x4136d4
mov eax, dword [esi + 0xdc]
sub eax, 0xf9ed1680
je 0x418bfe
jmp 0x4136ea
mov eax, dword [esi + 0xdc]
sub eax, 0xfa1f4fba
je 0x4146bd
jmp 0x413700
mov eax, dword [esi + 0xdc]
sub eax, 0xfadd4644
je 0x414647
jmp 0x413716
mov eax, dword [esi + 0xdc]
sub eax, 0xfae38415
je 0x413ba7
jmp 0x41372c
mov eax, dword [esi + 0xdc]
sub eax, 0xfbc4804a
je 0x418995
jmp 0x413742
mov eax, dword [esi + 0xdc]
sub eax, 0xfd6558b2
je 0x418c94
jmp 0x413758
mov eax, dword [esi + 0xdc]
sub eax, 0xff3be8cb
je 0x413dcf
jmp 0x41376e
mov eax, dword [esi + 0xdc]
sub eax, 0x5aa9c77
je 0x41416a
jmp 0x413784
mov eax, dword [esi + 0xdc]
sub eax, 0xc3608b6
je 0x4144c3
jmp 0x41379a
mov eax, dword [esi + 0xdc]
sub eax, 0x133b808e
je 0x414626
jmp 0x4137b0
mov eax, dword [esi + 0xdc]
sub eax, 0x174bdc9c
je 0x41497e
jmp 0x4137c6
mov eax, dword [esi + 0xdc]
sub eax, 0x19969f5c
je 0x414740
jmp 0x4137dc
mov eax, dword [esi + 0xdc]
sub eax, 0x1ae69790
je 0x4143d9
jmp 0x4137f2
mov eax, dword [esi + 0xdc]
sub eax, 0x1d186c31
je 0x418b13
jmp 0x413808
mov eax, dword [esi + 0xdc]
sub eax, 0x1e6eb920
je 0x41431b
jmp 0x41381e
mov eax, dword [esi + 0xdc]
sub eax, 0x1e79d9e9
je 0x413b6c
mov ecx, dword [0x43c584]
mov eax, dword [0x43c580]
mov edx, ecx
sub edx, 0xdd76cddd
sub edx, 1
add edx, 0xdd76cddd
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, 0x8f5118a8
mov ecx, 0x69a9aeab
test dl, 1
cmovne eax, ecx
mov dword [esi + 0xe0], eax
jmp 0x418f10
mov dword [esi + 0xe0], 0x7464d991
jmp 0x418f10
mov ecx, dword [0x43c584]
mov eax, dword [0x43c580]
mov edx, ecx
add edx, 0x58336202
sub edx, 1
sub edx, 0x58336202
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, 0x7bd56273
mov ecx, 0xf452d3a8
test dl, 1
cmovne eax, ecx
mov dword [esi + 0xe0], eax
jmp 0x418f10
lea eax, [esi + 0x3e0]
add eax, 8
xor ecx, ecx
sub esp, 0x1c
mov dword [esp], eax
mov dword [esp + 4], 0x80000000
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 0x80
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [esi + 0xf0], eax
mov ecx, dword [0x43c584]
mov eax, dword [0x43c580]
mov edx, ecx
add edx, 0xc382340
sub edx, 1
sub edx, 0xc382340
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, 0x7bd56273
mov ecx, 0xff3be8cb
test dl, 1
cmovne eax, ecx
mov dword [esi + 0xe0], eax
jmp 0x418f10
mov dword [esi + 0xe0], 0xf5cf730d
jmp 0x418f10
mov ecx, dword [0x43c584]
mov eax, dword [0x43c580]
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, 0xf4993f75
mov ecx, 0xd28b083e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0xe0], eax
jmp 0x418f10
mov eax, 0xffffffff
cmp dword [esi + 0xf0], eax
sete al
and al, 1
mov byte [esi + 0x113], al
mov ecx, dword [0x43c584]
mov eax, dword [0x43c580]
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, 0xf4993f75
mov ecx, 0x47c99cf7
test dl, 1
cmovne eax, ecx
mov dword [esi + 0xe0], eax
jmp 0x418f10
mov ecx, dword [0x43c584]
mov eax, dword [0x43c580]
mov edx, ecx
sub edx, 0x8cadc2e2
sub edx, 1
add edx, 0x8cadc2e2
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, 0xb6f6f24f
mov ecx, 0x59c1c5f7
test dl, 1
cmovne eax, ecx
mov dword [esi + 0xe0], eax
jmp 0x418f10
mov dword [esi + 0xe0], 0x4eb7317a
jmp 0x418f10
mov ecx, dword [0x43c584]
mov eax, dword [0x43c580]
mov edx, ecx
add edx, 0x2577131f
sub edx, 1
sub edx, 0x2577131f
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, 0xc24384bb
mov ecx, 0xcd75874a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0xe0], eax
jmp 0x418f10
mov dword [esi + 0xe0], 0x7464d991
jmp 0x418f10
mov eax, dword [esi + 0xe8]
mov dword [esi + 0x114], eax
mov edx, dword [esi + 0x114]
mov eax, 0xcef1b115
mov ecx, 0xda80a010
cmp edx, 0
cmove eax, ecx
mov dword [esi + 0xe0], eax
jmp 0x418f10
mov eax, dword [esi + 0x114]
sub esp, 4
mov dword [esp], eax
call fcn.00423cd7
add esp, 4
mov dword [esi + 0xe0], 0x74778f50
jmp 0x418f10
mov dword [esi + 0xf4], 1
mov dword [esi + 0xe0], 0xeaedb3ab
jmp 0x418f10
mov dword [esi + 0xe0], 0x7464d991
jmp 0x418f10
lea eax, [esi + 0x3e0]
add eax, 8
sub esp, 4
mov dword [esp], eax
call fcn.00411b90
add esp, 4
mov eax, dword [esi + 0xf0]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0xe0], 0xac747632
jmp 0x418f10
mov eax, dword [esi + 0xec]
mov ecx, dword [esi + 0xe8]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00411ae0
add esp, 8
lea eax, [esi + 0x3e0]
add eax, 0x10c
sub esp, 4
mov dword [esp], eax
call fcn.004122d0
add esp, 4
lea eax, [esi + 0x3e0]
add eax, 0x10c
xor ecx, ecx
sub esp, 0x1c
mov dword [esp], eax
mov dword [esp + 4], 0x40000000
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], 0x80
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [esi + 0xe4], eax
mov edx, 0xffffffff
mov eax, 0x6a843535
mov ecx, 0xdf747f12
cmp dword [esi + 0xe4], edx
cmove eax, ecx
mov dword [esi + 0xe0], eax
jmp 0x418f10
mov eax, dword [0x43c584]
mov ecx, dword [0x43c580]
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, 0xa24b47db
mov ecx, 0x1e6eb920
test dl, 1
cmovne eax, ecx
mov dword [esi + 0xe0], eax
jmp 0x418f10
mov eax, dword [esi + 0xe8]
mov dword [esi + 0x118], eax
mov eax, dword [esi + 0x118]
cmp eax, 0
sete al
and al, 1
mov byte [esi + 0x11f], al
mov ecx, dword [0x43c584]
mov eax, dword [0x43c580]
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, 0xa24b47db
mov ecx, 0xcce8059e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0xe0], eax
jmp 0x418f10
mov dword [esi + 0xe0], 0xd1485390
jmp 0x418f10
mov dl, byte [esi + 0x11f]
mov eax, 0x1ae69790
mov ecx, 0x4344bc31
test dl, 1
cmovne eax, ecx
mov dword [esi + 0xe0], eax
jmp 0x418f10
mov ecx, dword [0x43c584]
mov eax, dword [0x43c580]
mov edx, ecx
add edx, 0x193fd68a
sub edx, 1
sub edx, 0x193fd68a
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, 0x8e9f422a
mov ecx, 0x24c13ee2
test dl, 1
cmovne eax, ecx
mov dword [esi + 0xe0], eax
jmp 0x418f10
mov dword [esi + 0xe0], 0x4344bc31
jmp 0x418f10
mov dword [esi + 0xf4], 1
mov eax, dword [0x43c584]
mov ecx, dword [0x43c580]
mov edx, eax
add edx, 0xf0f1de3
sub edx, 1
sub edx, 0xf0f1de3
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, 0x42d7e4c6
mov ecx, 0x8706a406
test dl, 1
cmovne eax, ecx
mov dword [esi + 0xe0], eax
jmp 0x418f10
mov dword [esi + 0xe0], 0x769dd136
jmp 0x418f10
mov eax, dword [esi + 0xf8]
mov ecx, dword [esi + 0x120]
mov edx, dword [esi + 0x124]
mov edi, dword [esi + 0x128]
xor ebx, ebx
sub esp, 0x14
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, eax
mov eax, 0x133b808e
mov ecx, 0xe27b0856
cmp edx, 0
cmovne eax, ecx
mov dword [esi + 0xe0], eax
jmp 0x418f10
mov eax, dword [esi + 0xe4]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0xe0], 0xfadd4644
jmp 0x418f10
mov eax, dword [esi + 0xe8]
mov dword [esi + 0x12c], eax
mov edx, dword [esi + 0x12c]
mov eax, 0x62f24a73
mov ecx, 0x19969f5c
cmp edx, 0
cmove eax, ecx
mov dword [esi + 0xe0], eax
jmp 0x418f10
mov eax, dword [esi + 0x12c]
sub esp, 4
mov dword [esp], eax
call fcn.00423cd7
add esp, 4
mov eax, dword [0x43c584]
mov ecx, dword [0x43c580]
mov edx, eax
add edx, 0x45ffe78e
sub edx, 1
sub edx, 0x45ffe78e
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, 0x6d391fd7
mov ecx, 0xf3d1c6a5
test dl, 1
cmovne eax, ecx
mov dword [esi + 0xe0], eax
jmp 0x418f10
mov dword [esi + 0xe0], 0xbdb67420
jmp 0x418f10
mov dword [esi + 0xe0], 0x19969f5c
jmp 0x418f10
mov ecx, dword [0x43c584]
mov eax, dword [0x43c580]
mov edx, ecx
sub edx, 0x95d58411
sub edx, 1
add edx, 0x95d58411
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, 0xf8725435
mov ecx, 0xa5460df7
test dl, 1
cmovne eax, ecx
mov dword [esi + 0xe0], eax
jmp 0x418f10
mov dword [esi + 0xf4], 1
mov ecx, dword [0x43c584]
mov eax, dword [0x43c580]
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, 0xf8725435
mov ecx, 0xa3afc947
test dl, 1
cmovne eax, ecx
mov dword [esi + 0xe0], eax
jmp 0x418f10
mov dword [esi + 0xe0], 0x62cdf525
jmp 0x418f10
lea eax, [esi + 0x3e0]
add eax, 0x10c
sub esp, 4
mov dword [esp], eax
call fcn.00411b90
add esp, 4
mov eax, dword [esi + 0xe4]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0xe0], 0xb22e03b4
jmp 0x418f10
mov eax, dword [esi + 0xe8]
mov dword [esi + 0x130], eax
mov edx, dword [esi + 0x130]
mov eax, 0xbee9f497
mov ecx, 0xa5ee99bc
cmp edx, 0
cmove eax, ecx
mov dword [esi + 0xe0], eax
jmp 0x418f10
mov eax, dword [0x43c584]
mov ecx, dword [0x43c580]
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, 0x35a79ff9
mov ecx, 0xde6e2353
test dl, 1
cmovne eax, ecx
mov dword [esi + 0xe0], eax
jmp 0x418f10
mov eax, dword [esi + 0x130]
sub esp, 4
mov dword [esp], eax
call fcn.00423cd7
add esp, 4
mov ecx, dword [0x43c584]
mov eax, dword [0x43c580]
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, 0x35a79ff9
mov ecx, 0x174bdc9c
test dl, 1
cmovne eax, ecx
mov dword [esi + 0xe0], eax
jmp 0x418f10
mov dword [esi + 0xe0], 0x6934f7f5
jmp 0x418f10
mov dword [esi + 0xe0], 0xa5ee99bc
jmp 0x418f10
lea eax, [esi + 0x3e0]
add eax, 0x10c
mov dword [esi + 0xd4], eax
mov eax, dword [esi + 0x100]
mov dword [esi + 0xd8], eax
mov dword [esi + 0x140], 0x5d6f94e1
mov eax, dword [esi + 0x140]
mov dword [esi + 0xd0], eax
sub eax, 0xd88c9fa7
je 0x418818
jmp 0x414a79
mov eax, dword [esi + 0xd0]
sub eax, 0xe3dd01e1
je 0x41888e
jmp 0x414a8f
mov eax, dword [esi + 0xd0]
sub eax, 0x34c249b2
je 0x41889d
jmp 0x414aa5
mov eax, dword [esi + 0xd0]
sub eax, 0x5d6f94e1
je 0x414ad6
jmp 0x414abb
mov eax, dword [esi + 0xd0]
sub eax, 0x7dc31360
je 0x4187c7
jmp 0x414ad1
jmp 0x418898
mov eax, dword [esi + 0xd8]
mov ecx, dword [esi + 0xd4]
mov dword [esi + 0x148], ecx
mov dword [esi + 0x144], eax
mov eax, esp
mov dword [esi + 0xcc], eax
mov dword [esi + 0x150], 0x6afbe935
mov eax, dword [esi + 0x150]
mov dword [esi + 0xc8], eax
sub eax, 0x846f62a3
je 0x415e43
jmp 0x414b1c
mov eax, dword [esi + 0xc8]
sub eax, 0x84c6ac94
je 0x41554e
jmp 0x414b32
mov eax, dword [esi + 0xc8]
sub eax, 0x88ab314b
je 0x418778
jmp 0x414b48
mov eax, dword [esi + 0xc8]
sub eax, 0x8a5e3c02
je 0x415806
jmp 0x414b5e
mov eax, dword [esi + 0xc8]
sub eax, 0x8e042ec7
je 0x416d51
jmp 0x414b74
mov eax, dword [esi + 0xc8]
sub eax, 0x90965a54
je 0x415c8c
jmp 0x414b8a
mov eax, dword [esi + 0xc8]
sub eax, 0x9388158b
je 0x416ee8
jmp 0x414ba0
mov eax, dword [esi + 0xc8]
sub eax, 0x96e3189e
je 0x4176b0
jmp 0x414bb6
mov eax, dword [esi + 0xc8]
sub eax, 0x9f70b76e
je 0x4179ca
jmp 0x414bcc
mov eax, dword [esi + 0xc8]
sub eax, 0xa1689e4b
je 0x4170cd
jmp 0x414be2
mov eax, dword [esi + 0xc8]
sub eax, 0xa3c7e49a
je 0x416fe8
jmp 0x414bf8
mov eax, dword [esi + 0xc8]
sub eax, 0xaa997492
je 0x416ccd
jmp 0x414c0e
mov eax, dword [esi + 0xc8]
sub eax, 0xabd7530a
je 0x417726
jmp 0x414c24
mov eax, dword [esi + 0xc8]
sub eax, 0xb0d48f86
je 0x416fd9
jmp 0x414c3a
mov eax, dword [esi + 0xc8]
sub eax, 0xb156ce45
je 0x415e60
jmp 0x414c50
mov eax, dword [esi + 0xc8]
sub eax, 0xbad2b2d3
je 0x4177b7
jmp 0x414c66
mov eax, dword [esi + 0xc8]
sub eax, 0xbfaaae95
je 0x416db1
jmp 0x414c7c
mov eax, dword [esi + 0xc8]
sub eax, 0xc057af34
je 0x41705e
jmp 0x414c92
mov eax, dword [esi + 0xc8]
sub eax, 0xc4af24d5
je 0x416c7c
jmp 0x414ca8
mov eax, dword [esi + 0xc8]
sub eax, 0xc59a7a0b
je 0x417667
jmp 0x414cbe
mov eax, dword [esi + 0xc8]
sub eax, 0xd094402d
je 0x416d60
jmp 0x414cd4
mov eax, dword [esi + 0xc8]
sub eax, 0xd1c4571b
je 0x418796
jmp 0x414cea
mov eax, dword [esi + 0xc8]
sub eax, 0xe93f42b8
je 0x415ed6
jmp 0x414d00
mov eax, dword [esi + 0xc8]
sub eax, 0xeca13060
je 0x4155b7
jmp 0x414d16
mov eax, dword [esi + 0xc8]
sub eax, 0xefdcbb37
je 0x4179ee
jmp 0x414d2c
mov eax, dword [esi + 0xc8]
sub eax, 0xf15f8062
je 0x415c2c
jmp 0x414d42
mov eax, dword [esi + 0xc8]
sub eax, 0xf7c3777e
je 0x418689
jmp 0x414d58
mov eax, dword [esi + 0xc8]
sub eax, 0xfa487a20
je 0x416c5b
jmp 0x414d6e
mov eax, dword [esi + 0xc8]
sub eax, 0xfe6f8f44
je 0x418787
jmp 0x414d84
mov eax, dword [esi + 0xc8]
sub eax, 0x1db8888
je 0x415da8
jmp 0x414d9a
mov eax, dword [esi + 0xc8]
sub eax, 0x6ed2a04
je 0x416f48
jmp 0x414db0
mov eax, dword [esi + 0xc8]
sub eax, 0xe233d6e
je 0x415c7d
jmp 0x414dc6
mov eax, dword [esi + 0xc8]
sub eax, 0x161d2501
je 0x415bb6
jmp 0x414ddc
mov eax, dword [esi + 0xc8]
sub eax, 0x22f9e9dd
je 0x416fca
jmp 0x414df2
mov eax, dword [esi + 0xc8]
sub eax, 0x2b144c94
je 0x415524
jmp 0x414e08
mov eax, dword [esi + 0xc8]
sub eax, 0x2b5ed09f
je 0x415cc4
jmp 0x414e1e
mov eax, dword [esi + 0xc8]
sub eax, 0x2b800aae
je 0x4177a8
jmp 0x414e34
mov eax, dword [esi + 0xc8]
sub eax, 0x2c77cbe9
je 0x4179ad
jmp 0x414e4a
mov eax, dword [esi + 0xc8]
sub eax, 0x2ea0e0c7
je 0x417688
jmp 0x414e60
mov eax, dword [esi + 0xc8]
sub eax, 0x304b8f17
je 0x415533
jmp 0x414e76
mov eax, dword [esi + 0xc8]
sub eax, 0x31b42cab
je 0x41875d
jmp 0x414e8c
mov eax, dword [esi + 0xc8]
sub eax, 0x34e017b1
je 0x415d2a
jmp 0x414ea2
mov eax, dword [esi + 0xc8]
sub eax, 0x41a9e4dd
je 0x4170af
jmp 0x414eb8
mov eax, dword [esi + 0xc8]
sub eax, 0x433dfec2
je 0x4170be
jmp 0x414ece
mov eax, dword [esi + 0xc8]
sub eax, 0x4aaf339b
je 0x415ae2
jmp 0x414ee4
mov eax, dword [esi + 0xc8]
sub eax, 0x4eea0992
je 0x415827
mov dword [esi + 0x150], 0x304b8f17
jmp 0x418791
lea eax, [esi + 0x3cc]
mov dword [esi + 0x15c], eax
mov dword [esi + 0x150], 0x84c6ac94
jmp 0x418791
mov eax, dword [esi + 0x15c]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov dword [esi + 0x160], eax
mov dword [esi + 0x150], 0x5c0a0f6f
jmp 0x418791
mov eax, dword [esi + 0x160]
mov dword [esi + 0x1ac], eax
lea eax, [esi + 0x3c0]
mov dword [esi + 0x1a8], eax
mov eax, dword [esi + 0x1a8]
mov dword [esi + 0x1b0], eax
mov eax, dword [esi + 0x1b0]
mov ecx, dword [esi + 0x1ac]
mov dword [eax + 4], ecx
mov eax, dword [esi + 0x1ac]
mov dword [esi + 0x1b4], eax
mov dword [esi + 0x1a4], 0xe422e490
mov eax, dword [esi + 0x1a4]
mov dword [esi + 0xb4], eax
sub eax, 0xe422e490
je 0x415637
jmp 0x41561c
mov eax, dword [esi + 0xb4]
sub eax, 0x11ea1e2
je 0x4156fb
jmp 0x415632
jmp 0x4156f6
mov eax, dword [esi + 0x1b4]
mov dword [esi + 0x36c], eax
mov eax, dword [esi + 0x36c]
mov dword [esi + 0x370], eax
mov eax, dword [esi + 0x36c]
mov eax, dword [eax + 0x3c]
mov dword [esi + 0x374], eax
mov dword [esi + 0x368], 0x7fd641cf
mov eax, dword [esi + 0x368]
mov dword [esi + 0xb0], eax
sub eax, 0xe4095544
je 0x4156c2
jmp 0x415684
mov eax, dword [esi + 0xb0]
sub eax, 0x7fd641cf
je 0x41569f
jmp 0x41569a
jmp 0x4156bd
mov eax, dword [esi + 0x370]
mov ecx, dword [esi + 0x374]
add eax, ecx
mov dword [esi + 0x378], eax
mov dword [esi + 0x368], 0xe4095544
jmp 0x415668
mov eax, dword [esi + 0x378]
mov ecx, dword [eax + 0x78]
mov dword [esi + 0x3d0], ecx
mov eax, dword [eax + 0x7c]
mov dword [esi + 0x3d4], eax
mov eax, dword [esi + 0x1ac]
add eax, dword [esi + 0x3d0]
mov dword [esi + 0x1b8], eax
mov dword [esi + 0x1a4], 0x11ea1e2
jmp 0x415600
mov eax, dword [esi + 0x1b0]
mov ecx, dword [esi + 0x1b8]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x3d4]
mov eax, dword [esi + 0x1b0]
mov dword [eax], ecx
mov eax, dword [esi + 0x1b0]
lea eax, [esi + 0x3c0]
mov dword [esi + 0x1d8], eax
mov eax, dword [esi + 0x1d8]
mov dword [esi + 0x1dc], eax
mov dword [esi + 0x1d4], 0xdfd645b2
mov eax, dword [esi + 0x1d4]
mov dword [esi + 0xac], eax
sub eax, 0xb18b1574
je 0x4157a4
jmp 0x41575c
mov eax, dword [esi + 0xac]
sub eax, 0xdfd645b2
je 0x415777
jmp 0x415772
jmp 0x41579f
mov eax, dword [esi + 0x1dc]
mov eax, dword [eax + 8]
mov dword [esi + 0x1e0], eax
mov eax, dword [esi + 0x1dc]
mov eax, dword [eax + 4]
mov dword [esi + 0x1e4], eax
mov dword [esi + 0x1d4], 0xb18b1574
jmp 0x415740
mov eax, dword [esi + 0x1e0]
mov ecx, dword [esi + 0x1e4]
cmp eax, ecx
setne al
and al, 1
mov byte [esi + 0x167], al
mov eax, dword [0x43c56c]
mov ecx, dword [0x43c568]
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, 0xbad2b2d3
mov ecx, 0x8a5e3c02
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x150], eax
jmp 0x418791
mov dl, byte [esi + 0x167]
mov eax, 0x433dfec2
mov ecx, 0x4eea0992
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x150], eax
jmp 0x418791
mov eax, dword [0x43c56c]
mov ecx, dword [0x43c568]
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, 0x2c77cbe9
mov ecx, 0x58803d27
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x150], eax
jmp 0x418791
mov ecx, dword [0x43c56c]
mov eax, dword [0x43c568]
mov edx, ecx
add edx, 0x3a97a8
sub edx, 1
sub edx, 0x3a97a8
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, 0x9f70b76e
mov ecx, 0xf15f8062
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x150], eax
jmp 0x418791
mov eax, dword [0x43c56c]
mov ecx, dword [0x43c568]
mov edx, eax
add edx, 0x5d2a04a0
sub edx, 1
sub edx, 0x5d2a04a0
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, 0x9f70b76e
mov ecx, 0xe233d6e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x150], eax
jmp 0x418791
mov dword [esi + 0x150], 0x90965a54
jmp 0x418791
mov eax, dword [esi + 0x158]
mov eax, dword [eax]
mov dword [esi + 0x16c], eax
mov eax, dword [esi + 0x16c]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xffffffff
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [esi + 0x170], eax
mov dword [esi + 0x150], 0x2b5ed09f
jmp 0x418791
mov eax, dword [esi + 0x158]
mov ecx, dword [esi + 0x170]
mov dword [eax], ecx
mov dword [esi + 0x150], 0x677f4077
jmp 0x418791
mov eax, dword [esi + 0x16c]
cmp eax, 0
setne al
and al, 1
mov byte [esi + 0x177], al
mov eax, dword [0x43c56c]
mov ecx, dword [0x43c568]
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, 0x70e51e52
mov ecx, 0x703a4492
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x150], eax
jmp 0x418791
mov dword [esi + 0x264], 0x67eaee52
mov dword [esi + 0x260], 0x2755c364
mov dword [esi + 0x25c], 0xb632bb51
mov eax, dword [esi + 0x25c]
mov dword [esi + 0xa4], eax
sub eax, 0xb632bb51
je 0x415dfd
jmp 0x415de2
mov eax, dword [esi + 0xa4]
sub eax, 0x1d91c96a
je 0x415e22
jmp 0x415df8
jmp 0x415e1d
mov eax, dword [esi + 0x264]
mov dword [esi + 0x268], eax
mov dword [esi + 0x26c], 0
mov dword [esi + 0x25c], 0x1d91c96a
jmp 0x415dc6
mov eax, dword [esi + 0x268]
mov ecx, dword [esi + 0x26c]
mov dword [esi + 0x178], eax
mov dword [esi + 0x150], 0x846f62a3
jmp 0x418791
mov eax, dword [esi + 0x158]
mov eax, dword [eax]
mov dword [esi + 0x17c], eax
mov dword [esi + 0x150], 0xb156ce45
jmp 0x418791
mov ecx, dword [0x43c56c]
mov eax, dword [0x43c568]
mov edx, ecx
sub edx, 0x1c82d0b4
sub edx, 1
add edx, 0x1c82d0b4
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, 0xefdcbb37
mov ecx, 0xe93f42b8
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x150], eax
jmp 0x418791
mov eax, dword [esi + 0x17c]
mov dword [esi + 0x278], eax
lea eax, [esi + 0x3c0]
mov dword [esi + 0x274], eax
mov eax, dword [esi + 0x274]
mov dword [esi + 0x27c], eax
mov eax, dword [esi + 0x27c]
mov eax, dword [eax + 4]
mov dword [esi + 0x280], eax
mov eax, dword [esi + 0x27c]
mov eax, dword [eax + 4]
mov dword [esi + 0x284], eax
mov dword [esi + 0x270], 0x53ea7cb4
mov eax, dword [esi + 0x270]
mov dword [esi + 0xa0], eax
sub eax, 0xa55bbde8
je 0x41602f
jmp 0x415f3e
mov eax, dword [esi + 0xa0]
sub eax, 0xb5a54b2e
je 0x4160aa
jmp 0x415f54
mov eax, dword [esi + 0xa0]
sub eax, 0x172961dd
je 0x4160cb
jmp 0x415f6a
mov eax, dword [esi + 0xa0]
sub eax, 0x479c63d5
je 0x415fb9
jmp 0x415f80
mov eax, dword [esi + 0xa0]
sub eax, 0x53ea7cb4
je 0x415f9b
jmp 0x415f96
jmp 0x4160c6
mov eax, dword [esi + 0x27c]
add eax, 8
mov dword [esi + 0x288], eax
mov dword [esi + 0x270], 0x479c63d5
jmp 0x4160c6
mov ecx, dword [0x43c55c]
mov eax, dword [0x43c558]
mov edx, ecx
add edx, 0x9b1150e8
sub edx, 1
sub edx, 0x9b1150e8
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, 0xb5a54b2e
mov ecx, 0xa55bbde8
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x270], eax
jmp 0x4160c6
mov eax, dword [esi + 0x288]
mov eax, dword [eax]
mov ecx, dword [eax + 0x20]
mov eax, dword [esi + 0x284]
add eax, ecx
mov ecx, dword [esi + 0x278]
mov ecx, dword [eax + ecx*4]
mov eax, dword [esi + 0x280]
add eax, ecx
mov dword [esi + 0x28c], eax
mov eax, dword [0x43c55c]
mov ecx, dword [0x43c558]
mov edx, eax
sub edx, 0xb320196
sub edx, 1
add edx, 0xb320196
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, 0xb5a54b2e
mov ecx, 0x172961dd
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x270], eax
jmp 0x4160c6
mov eax, dword [esi + 0x288]
mov eax, dword [esi + 0x284]
mov eax, dword [esi + 0x280]
mov dword [esi + 0x270], 0xa55bbde8
jmp 0x415f22
mov eax, dword [esi + 0x28c]
mov dword [esi + 0x94], eax
mov eax, dword [esi + 0x178]
mov dword [esi + 0x98], eax
mov eax, esp
mov dword [esi + 0x9c], eax
mov ecx, dword [0x43c554]
mov eax, dword [0x43c550]
mov edx, ecx
sub edx, 0xef5916e8
sub edx, 1
add edx, 0xef5916e8
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [esi + 0x212], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [esi + 0x213], al
mov dword [esi + 0x20c], 0xd3016c96
mov eax, dword [esi + 0x20c]
mov dword [esi + 0x90], eax
sub eax, 0x9142e050
je 0x41690b
jmp 0x416150
mov eax, dword [esi + 0x90]
sub eax, 0xa2ea1eef
je 0x416651
jmp 0x416166
mov eax, dword [esi + 0x90]
sub eax, 0xad22e42a
je 0x416634
jmp 0x41617c
mov eax, dword [esi + 0x90]
sub eax, 0xb6575457
je 0x416429
jmp 0x416192
mov eax, dword [esi + 0x90]
sub eax, 0xb7eb797a
je 0x41684c
jmp 0x4161a8
mov eax, dword [esi + 0x90]
sub eax, 0xc5344822
je 0x416613
jmp 0x4161be
mov eax, dword [esi + 0x90]
sub eax, 0xcfd19c48
je 0x416820
jmp 0x4161d4
mov eax, dword [esi + 0x90]
sub eax, 0xd3016c96
je 0x416323
jmp 0x4161ea
mov eax, dword [esi + 0x90]
sub eax, 0xd3294dc2
je 0x416377
jmp 0x416200
mov eax, dword [esi + 0x90]
sub eax, 0xd97550f9
je 0x41654f
jmp 0x416216
mov eax, dword [esi + 0x90]
sub eax, 0xf16ce2f5
je 0x4163d1
jmp 0x41622c
mov eax, dword [esi + 0x90]
sub eax, 0xfa3ae727
je 0x41682f
jmp 0x416242
mov eax, dword [esi + 0x90]
sub eax, 0xfbfbc8e0
je 0x4163e0
jmp 0x416258
mov eax, dword [esi + 0x90]
sub eax, 0x1e387de
je 0x4164d7
jmp 0x41626e
mov eax, dword [esi + 0x90]
sub eax, 0x99c3be6
je 0x4166a2
jmp 0x416284
mov eax, dword [esi + 0x90]
sub eax, 0x24d3fb6b
je 0x416803
jmp 0x41629a
mov eax, dword [esi + 0x90]
sub eax, 0x253ffc69
je 0x416521
jmp 0x4162b0
mov eax, dword [esi + 0x90]
sub eax, 0x2586384e
je 0x4164c8
jmp 0x4162c6
mov eax, dword [esi + 0x90]
sub eax, 0x2efd285e
je 0x416504
jmp 0x4162dc
mov eax, dword [esi + 0x90]
sub eax, 0x47c61ce4
je 0x4165a0
jmp 0x4162f2
mov eax, dword [esi + 0x90]
sub eax, 0x4a6c5a5e
je 0x4167f4
mov bl, byte [esi + 0x212]
mov dh, byte [esi + 0x213]
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, 0xcfd19c48
mov ecx, 0xd3294dc2
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20c], eax
jmp 0x416906
push eax
mov eax, esp
mov dword [esi + 0x214], eax
mov eax, dword [0x43c554]
mov ecx, dword [0x43c550]
mov edx, eax
sub edx, 0xaf3db373
sub edx, 1
add edx, 0xaf3db373
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, 0xcfd19c48
mov ecx, 0xf16ce2f5
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20c], eax
jmp 0x416906
mov dword [esi + 0x20c], 0xfbfbc8e0
jmp 0x416906
mov eax, dword [0x43c554]
mov ecx, dword [0x43c550]
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, 0xfa3ae727
mov ecx, 0xb6575457
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20c], eax
jmp 0x416906
mov ecx, dword [esi + 0x98]
push eax
mov eax, esp
mov dword [esi + 0x218], eax
push eax
mov eax, esp
mov dword [esi + 0x21c], eax
push eax
mov eax, esp
mov dword [esi + 0x220], eax
mov eax, dword [esi + 0x214]
mov dword [eax], ecx
mov ecx, dword [0x43c554]
mov eax, dword [0x43c550]
mov edx, ecx
sub edx, 0xf26cc7a9
sub edx, 1
add edx, 0xf26cc7a9
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, 0xfa3ae727
mov ecx, 0x2586384e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20c], eax
jmp 0x416906
mov dword [esi + 0x20c], 0x1e387de
jmp 0x416906
mov ecx, dword [esi + 0x94]
mov eax, dword [esi + 0x218]
mov dword [eax], ecx
mov eax, dword [esi + 0x214]
mov ecx, dword [eax]
mov eax, dword [esi + 0x21c]
mov dword [eax], ecx
mov dword [esi + 0x20c], 0x2efd285e
jmp 0x416906
mov eax, dword [esi + 0x218]
mov eax, dword [eax]
mov dword [esi + 0x224], eax
mov dword [esi + 0x20c], 0x253ffc69
jmp 0x416906
mov ecx, dword [esi + 0x224]
add ecx, 1
mov eax, dword [esi + 0x218]
mov dword [eax], ecx
mov eax, dword [esi + 0x224]
mov al, byte [eax]
mov byte [esi + 0x22a], al
mov dword [esi + 0x20c], 0xd97550f9
jmp 0x416906
mov eax, dword [0x43c554]
mov ecx, dword [0x43c550]
mov edx, eax
sub edx, 0xf29f0e8c
sub edx, 1
add edx, 0xf29f0e8c
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, 0xb7eb797a
mov ecx, 0x47c61ce4
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20c], eax
jmp 0x416906
mov eax, dword [esi + 0x220]
mov cl, byte [esi + 0x22a]
mov byte [eax], cl
mov eax, dword [esi + 0x220]
cmp byte [eax], 0
setne al
and al, 1
mov byte [esi + 0x22b], al
mov eax, dword [0x43c554]
mov ecx, dword [0x43c550]
mov edx, eax
sub edx, 0x6878da79
sub edx, 1
add edx, 0x6878da79
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, 0xb7eb797a
mov ecx, 0xc5344822
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20c], eax
jmp 0x416906
mov dl, byte [esi + 0x22b]
mov eax, 0xad22e42a
mov ecx, 0xa2ea1eef
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20c], eax
jmp 0x416906
mov eax, dword [esi + 0x21c]
mov eax, dword [eax]
mov dword [esi + 0x22c], eax
mov dword [esi + 0x20c], 0x9142e050
jmp 0x416906
mov eax, dword [0x43c554]
mov ecx, dword [0x43c550]
mov edx, eax
sub edx, 0x74db59d8
sub edx, 1
add edx, 0x74db59d8
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, 0x530cdd26
mov ecx, 0x99c3be6
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20c], eax
jmp 0x416906
mov eax, dword [esi + 0x220]
mov al, byte [eax]
mov byte [esi + 0x87], al
mov eax, dword [esi + 0x21c]
mov eax, dword [eax]
mov dword [esi + 0x88], eax
mov eax, esp
mov dword [esi + 0x8c], eax
mov dword [esi + 0x394], 0x4e4f1274
mov eax, dword [esi + 0x394]
mov dword [esi + 0x80], eax
sub eax, 0xf7619b97
je 0x416739
jmp 0x4166ec
mov eax, dword [esi + 0x80]
sub eax, 0x4e4f1274
je 0x416707
jmp 0x416702
jmp 0x416734
mov ecx, dword [esi + 0x88]
mov al, byte [esi + 0x87]
push eax
mov edx, esp
mov dword [esi + 0x39c], edx
mov byte [esi + 0x39b], al
mov eax, dword [esi + 0x39c]
mov dword [eax], ecx
mov dword [esi + 0x394], 0xf7619b97
jmp 0x4166d0
mov eax, dword [esi + 0x39c]
mov ebx, dword [eax]
movsx edi, byte [esi + 0x39b]
mov eax, ebx
xor eax, 0xffffffff
and eax, 0x44ace33a
mov ecx, 0xffffffff
xor ecx, 0x44ace33a
and ebx, ecx
mov edx, edi
xor edx, 0xffffffff
and edx, 0x44ace33a
and edi, ecx
mov ecx, dword [esi + 0x8c]
or eax, ebx
or edx, edi
xor eax, edx
imul eax, eax, 0x1000193
mov esp, ecx
mov dword [esi + 0x230], eax
mov ecx, dword [0x43c554]
mov eax, dword [0x43c550]
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, 0x530cdd26
mov ecx, 0x4a6c5a5e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20c], eax
jmp 0x416906
mov eax, dword [esi + 0x21c]
mov ecx, dword [esi + 0x230]
mov dword [eax], ecx
mov dword [esi + 0x20c], 0x2efd285e
jmp 0x416906
mov dword [esi + 0x20c], 0xd3294dc2
jmp 0x416906
mov ecx, dword [esi + 0x98]
mov eax, dword [esi + 0x214]
mov dword [eax], ecx
mov dword [esi + 0x20c], 0xb6575457
jmp 0x416906
mov eax, dword [esi + 0x220]
mov cl, byte [esi + 0x22a]
mov byte [eax], cl
mov eax, dword [esi + 0x220]
mov dword [esi + 0x20c], 0x47c61ce4
jmp 0x416906
jmp 0x416134
mov eax, dword [esi + 0x9c]
mov ecx, dword [esi + 0x22c]
mov dword [esi + 0x68], ecx
mov esp, eax
mov eax, esp
mov dword [esi + 0x6c], eax
mov ecx, dword [0x43c54c]
mov eax, dword [0x43c548]
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 + 0x2b6], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [esi + 0x2b7], al
mov dword [esi + 0x2b0], 0x264d8859
mov eax, dword [esi + 0x2b0]
mov dword [esi + 0x64], eax
sub eax, 0x84175ca5
je 0x416bef
jmp 0x41697b
mov eax, dword [esi + 0x64]
sub eax, 0xab190fe3
je 0x416b19
jmp 0x41698e
mov eax, dword [esi + 0x64]
sub eax, 0xb8d89857
je 0x416af8
jmp 0x4169a1
mov eax, dword [esi + 0x64]
sub eax, 0xbfe554ef
je 0x416bbb
jmp 0x4169b4
mov eax, dword [esi + 0x64]
sub eax, 0xd06c8a44
je 0x416be0
jmp 0x4169c7
mov eax, dword [esi + 0x64]
sub eax, 0xd65ab117
je 0x416b6a
jmp 0x4169da
mov eax, dword [esi + 0x64]
sub eax, 0x4b8c15c
je 0x416ae9
jmp 0x4169ed
mov eax, dword [esi + 0x64]
sub eax, 0x264d8859
je 0x416a18
jmp 0x416a00
mov eax, dword [esi + 0x64]
sub eax, 0x2d23d9b6
je 0x416a47
jmp 0x416a13
jmp 0x416bea
mov al, byte [esi + 0x2b6]
mov cl, byte [esi + 0x2b7]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xbfe554ef
mov ecx, 0x2d23d9b6
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2b0], eax
jmp 0x416bea
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [eax + 4], 0x67eaee52
mov dword [eax], 0x2755c364
mov ecx, dword [eax]
mov eax, dword [eax + 4]
andn eax, eax, eax
mov dword [esi + 0x2b8], ecx
mov dword [esi + 0x2bc], eax
mov ecx, dword [0x43c54c]
mov eax, dword [0x43c548]
mov edx, ecx
sub edx, 0x80045044
sub edx, 1
add edx, 0x80045044
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, 0xbfe554ef
mov ecx, 0x4b8c15c
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2b0], eax
jmp 0x416bea
mov dword [esi + 0x2b0], 0xb8d89857
jmp 0x416bea
mov eax, dword [esi + 0x2b8]
mov ecx, dword [esi + 0x2bc]
mov dword [esi + 0x2c4], eax
mov dword [esi + 0x2b0], 0xab190fe3
jmp 0x416bea
mov eax, dword [0x43c54c]
mov ecx, dword [0x43c548]
mov edx, eax
sub edx, 0x70743af2
sub edx, 1
add edx, 0x70743af2
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, 0xd06c8a44
mov ecx, 0xd65ab117
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2b0], eax
jmp 0x416bea
mov eax, dword [0x43c54c]
mov ecx, dword [0x43c548]
mov edx, eax
add edx, 0x755e633c
sub edx, 1
sub edx, 0x755e633c
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, 0xd06c8a44
mov ecx, 0x84175ca5
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2b0], eax
jmp 0x416bea
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [eax + 4], 0x67eaee52
mov dword [eax], 0x2755c364
mov dword [esi + 0x2b0], 0x2d23d9b6
jmp 0x416bea
mov dword [esi + 0x2b0], 0xd65ab117
jmp 0x416962
mov eax, dword [esi + 0x68]
mov edx, dword [esi + 0x6c]
mov ecx, dword [esi + 0x2c4]
mov esp, edx
cmp eax, ecx
sete al
and al, 1
mov byte [esi + 0x183], al
mov eax, dword [0x43c56c]
mov ecx, dword [0x43c568]
mov edx, eax
sub edx, 0xa565ca04
sub edx, 1
add edx, 0xa565ca04
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, 0xefdcbb37
mov ecx, 0xfa487a20
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x150], eax
jmp 0x418791
mov dl, byte [esi + 0x183]
mov eax, 0xb0d48f86
mov ecx, 0xc4af24d5
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x150], eax
jmp 0x418791
mov eax, dword [0x43c56c]
mov ecx, dword [0x43c568]
mov edx, eax
add edx, 0xddd434ec
sub edx, 1
sub edx, 0xddd434ec
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, 0x6a7af650
mov ecx, 0xaa997492
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x150], eax
jmp 0x418791
mov eax, dword [esi + 0x158]
mov eax, dword [eax]
mov dword [esi + 0x184], eax
mov ecx, dword [0x43c56c]
mov eax, dword [0x43c568]
mov edx, ecx
add edx, 0xbaea296b
sub edx, 1
sub edx, 0xbaea296b
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, 0x6a7af650
mov ecx, 0x8e042ec7
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x150], eax
jmp 0x418791
mov dword [esi + 0x150], 0xd094402d
jmp 0x418791
mov eax, dword [0x43c56c]
mov ecx, dword [0x43c568]
mov edx, eax
add edx, 0xc2879af9
sub edx, 1
sub edx, 0xc2879af9
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, 0xf7c3777e
mov ecx, 0xbfaaae95
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x150], eax
jmp 0x418791
mov eax, dword [esi + 0x184]
mov dword [esi + 0x2f0], eax
lea eax, [esi + 0x3c0]
mov dword [esi + 0x2ec], eax
mov eax, dword [esi + 0x2ec]
mov dword [esi + 0x2f4], eax
mov eax, dword [esi + 0x2f4]
mov eax, dword [eax + 4]
mov ecx, dword [esi + 0x2f4]
mov ecx, dword [ecx + 8]
add eax, dword [ecx + 0x1c]
mov dword [esi + 0x2e8], eax
mov eax, dword [esi + 0x2f4]
mov eax, dword [eax + 4]
mov ecx, dword [esi + 0x2f4]
mov ecx, dword [ecx + 8]
add eax, dword [ecx + 0x24]
mov dword [esi + 0x2f8], eax
mov dword [esi + 0x2e0], 0x1cb7c6db
mov eax, dword [esi + 0x2e0]
mov dword [esi + 0x60], eax
sub eax, 0x1cb7c6db
je 0x416e46
jmp 0x416e2e
mov eax, dword [esi + 0x60]
sub eax, 0x64f45bc8
je 0x416e70
jmp 0x416e41
jmp 0x416e6b
mov eax, dword [esi + 0x2f8]
mov dword [esi + 0x2e4], eax
mov eax, dword [esi + 0x2f4]
add eax, 4
mov dword [esi + 0x2fc], eax
mov dword [esi + 0x2e0], 0x64f45bc8
jmp 0x416e15
mov eax, dword [esi + 0x2fc]
mov eax, dword [eax]
mov ecx, dword [esi + 0x2e8]
mov edx, dword [esi + 0x2e4]
mov edi, dword [esi + 0x2f0]
movzx edx, word [edx + edi*2]
add eax, dword [ecx + edx*4]
mov dword [esi + 0x188], eax
mov eax, dword [0x43c56c]
mov ecx, dword [0x43c568]
mov edx, eax
add edx, 0xb34a8af9
sub edx, 1
sub edx, 0xb34a8af9
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, 0xf7c3777e
mov ecx, 0x9388158b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x150], eax
jmp 0x418791
mov dword [esi + 0x150], 0x5269dac6
jmp 0x418791
mov eax, dword [esi + 0x188]
mov dword [esi + 0x154], eax
mov ecx, dword [0x43c56c]
mov eax, dword [0x43c568]
mov edx, ecx
sub edx, 0x55d92fb1
sub edx, 1
add edx, 0x55d92fb1
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, 0x31b42cab
mov ecx, 0x22f9e9dd
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x150], eax
jmp 0x418791
mov dword [esi + 0x150], 0x96e3189e
jmp 0x418791
mov dword [esi + 0x150], 0x90965a54
jmp 0x418791
mov ecx, dword [0x43c56c]
mov eax, dword [0x43c568]
mov edx, ecx
add edx, 0xe3c3042f
sub edx, 1
sub edx, 0xe3c3042f
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, 0x88ab314b
mov ecx, 0xc057af34
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x150], eax
jmp 0x418791
mov eax, dword [0x43c56c]
mov ecx, dword [0x43c568]
mov edx, eax
sub edx, 0x2499642e
sub edx, 1
add edx, 0x2499642e
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, 0x88ab314b
mov ecx, 0x41a9e4dd
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x150], eax
jmp 0x418791
mov dword [esi + 0x150], 0x433dfec2
jmp 0x418791
mov dword [esi + 0x150], 0xa1689e4b
jmp 0x418791
mov eax, esp
mov dword [esi + 0x5c], eax
mov ecx, dword [0x43c544]
mov eax, dword [0x43c540]
mov edx, ecx
add edx, 0x85b4258b
sub edx, 1
sub edx, 0x85b4258b
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [esi + 0x326], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [esi + 0x327], al
mov dword [esi + 0x320], 0x52ead985
mov eax, dword [esi + 0x320]
mov dword [esi + 0x58], eax
sub eax, 0xa88f0295
je 0x417273
jmp 0x417134
mov eax, dword [esi + 0x58]
sub eax, 0xa9469989
je 0x417264
jmp 0x417147
mov eax, dword [esi + 0x58]
sub eax, 0xb88b954a
je 0x417200
jmp 0x41715a
mov eax, dword [esi + 0x58]
sub eax, 0xe697bba4
je 0x417599
jmp 0x41716d
mov eax, dword [esi + 0x58]
sub eax, 0xeecf931
je 0x41762f
jmp 0x417180
mov eax, dword [esi + 0x58]
sub eax, 0x11a99e12
je 0x41764c
jmp 0x417193
mov eax, dword [esi + 0x58]
sub eax, 0x479f7b16
je 0x417548
jmp 0x4171a6
mov eax, dword [esi + 0x58]
sub eax, 0x52ead985
je 0x4171d1
jmp 0x4171b9
mov eax, dword [esi + 0x58]
sub eax, 0x7aaf185e
je 0x417615
jmp 0x4171cc
jmp 0x417647
mov al, byte [esi + 0x326]
mov cl, byte [esi + 0x327]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x7aaf185e
mov ecx, 0xb88b954a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x320], eax
jmp 0x417647
push eax
mov eax, esp
lea ecx, [esi + 0x3cc]
mov dword [eax], ecx
mov eax, dword [eax]
mov dword [esi + 0x328], eax
mov eax, dword [0x43c544]
mov ecx, dword [0x43c540]
mov edx, eax
sub edx, 0xe355b8bf
sub edx, 1
add edx, 0xe355b8bf
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, 0x7aaf185e
mov ecx, 0xa9469989
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x320], eax
jmp 0x417647
mov dword [esi + 0x320], 0xa88f0295
jmp 0x417647
mov eax, dword [esi + 0x328]
mov eax, dword [eax]
mov dword [esi + 0x54], eax
mov dword [esi + 0x3ac], 0xfdbcf4db
mov eax, dword [esi + 0x3ac]
mov dword [esi + 0x50], eax
sub eax, 0x92bcd086
je 0x4173a1
jmp 0x4172a1
mov eax, dword [esi + 0x50]
sub eax, 0x95708692
je 0x41752d
jmp 0x4172b4
mov eax, dword [esi + 0x50]
sub eax, 0xbbc6cd2d
je 0x417484
jmp 0x4172c7
mov eax, dword [esi + 0x50]
sub eax, 0xcb4d6c75
je 0x4173ff
jmp 0x4172da
mov eax, dword [esi + 0x50]
sub eax, 0xfdbcf4db
je 0x41732b
jmp 0x4172ed
mov eax, dword [esi + 0x50]
sub eax, 0x38897edd
je 0x41740e
jmp 0x417300
mov eax, dword [esi + 0x50]
sub eax, 0x4fb8ada6
je 0x417518
jmp 0x417313
mov eax, dword [esi + 0x50]
sub eax, 0x756e7505
je 0x417500
jmp 0x417326
jmp 0x417528
mov ecx, dword [0x43c53c]
mov eax, dword [0x43c538]
mov edx, ecx
add edx, 0x45f02c46
sub edx, 1
sub edx, 0x45f02c46
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, 0x756e7505
mov ecx, 0x92bcd086
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3ac], eax
jmp 0x417528
mov eax, dword [esi + 0x54]
mov dword [esi + 0x3b0], eax
mov eax, dword [esi + 0x3b0]
mov dword [esi + 0x3b4], eax
mov eax, dword [0x43c53c]
mov ecx, dword [0x43c538]
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, 0x756e7505
mov ecx, 0xcb4d6c75
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3ac], eax
jmp 0x417528
mov dword [esi + 0x3ac], 0x38897edd
jmp 0x417528
mov ecx, dword [0x43c53c]
mov eax, dword [0x43c538]
mov edx, ecx
add edx, 0xbe4dd81
sub edx, 1
sub edx, 0xbe4dd81
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, 0x4fb8ada6
mov ecx, 0xbbc6cd2d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3ac], eax
jmp 0x417528
mov eax, dword [esi + 0x3b4]
mov eax, dword [eax]
mov dword [esi + 0x3b8], eax
mov ecx, dword [0x43c53c]
mov eax, dword [0x43c538]
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, 0x4fb8ada6
mov ecx, 0x95708692
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3ac], eax
jmp 0x417528
mov eax, dword [esi + 0x54]
mov dword [esi + 0x3b0], eax
mov dword [esi + 0x3ac], 0x92bcd086
jmp 0x417528
mov eax, dword [esi + 0x3b4]
mov dword [esi + 0x3ac], 0xbbc6cd2d
jmp 0x417288
mov eax, dword [esi + 0x3b8]
mov dword [esi + 0x32c], eax
mov dword [esi + 0x320], 0x479f7b16
jmp 0x417647
mov eax, dword [0x43c544]
mov ecx, dword [0x43c540]
mov edx, eax
sub edx, 0xbb8c834c
sub edx, 1
add edx, 0xbb8c834c
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, 0xeecf931
mov ecx, 0xe697bba4
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x320], eax
jmp 0x417647
mov eax, dword [esi + 0x328]
mov ecx, dword [esi + 0x32c]
mov dword [eax], ecx
mov ecx, dword [0x43c544]
mov eax, dword [0x43c540]
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, 0xeecf931
mov ecx, 0x11a99e12
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x320], eax
jmp 0x417647
push eax
mov eax, esp
lea ecx, [esi + 0x3cc]
mov dword [eax], ecx
mov dword [esi + 0x320], 0xb88b954a
jmp 0x417647
mov eax, dword [esi + 0x328]
mov ecx, dword [esi + 0x32c]
mov dword [eax], ecx
mov dword [esi + 0x320], 0xe697bba4
jmp 0x41711b
mov eax, dword [esi + 0x5c]
mov esp, eax
mov byte [esi + 0x18f], 1
mov dword [esi + 0x150], 0xc59a7a0b
jmp 0x418791
mov dl, byte [esi + 0x18f]
mov eax, 0x2ea0e0c7
mov ecx, 0x304b8f17
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x150], eax
jmp 0x418791
mov dword [esi + 0x154], 0
mov dword [esi + 0x150], 0x7ce03cff
jmp 0x418791
mov ecx, dword [0x43c56c]
mov eax, dword [0x43c568]
mov edx, ecx
add edx, 0xd4a03b56
sub edx, 1
sub edx, 0xd4a03b56
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, 0xfe6f8f44
mov ecx, 0xabd7530a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x150], eax
jmp 0x418791
mov eax, dword [esi + 0x154]
mov dword [esi + 0x190], eax
mov ecx, dword [0x43c56c]
mov eax, dword [0x43c568]
mov edx, ecx
sub edx, 0x40df1952
sub edx, 1
add edx, 0x40df1952
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, 0xfe6f8f44
mov ecx, 0x2b800aae
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x150], eax
jmp 0x418791
mov dword [esi + 0x150], 0xd1c4571b
jmp 0x418791
mov eax, dword [esi + 0x160]
mov dword [esi + 0x1c4], eax
lea eax, [esi + 0x3c0]
mov dword [esi + 0x1c0], eax
mov eax, dword [esi + 0x1c0]
mov dword [esi + 0x1c8], eax
mov eax, dword [esi + 0x1c8]
mov ecx, dword [esi + 0x1c4]
mov dword [eax + 4], ecx
mov eax, dword [esi + 0x1c4]
mov dword [esi + 0x1cc], eax
mov dword [esi + 0x1bc], 0xe422e490
mov eax, dword [esi + 0x1bc]
mov dword [esi + 0x4c], eax
sub eax, 0xe422e490
je 0x417831
jmp 0x417819
mov eax, dword [esi + 0x4c]
sub eax, 0x11ea1e2
je 0x4178ef
jmp 0x41782c
jmp 0x4178ea
mov eax, dword [esi + 0x1cc]
mov dword [esi + 0x358], eax
mov eax, dword [esi + 0x358]
mov dword [esi + 0x35c], eax
mov eax, dword [esi + 0x358]
mov eax, dword [eax + 0x3c]
mov dword [esi + 0x360], eax
mov dword [esi + 0x354], 0x7fd641cf
mov eax, dword [esi + 0x354]
mov dword [esi + 0x48], eax
sub eax, 0xe4095544
je 0x4178b6
jmp 0x41787b
mov eax, dword [esi + 0x48]
sub eax, 0x7fd641cf
je 0x417893
jmp 0x41788e
jmp 0x4178b1
mov eax, dword [esi + 0x35c]
mov ecx, dword [esi + 0x360]
add eax, ecx
mov dword [esi + 0x364], eax
mov dword [esi + 0x354], 0xe4095544
jmp 0x417862
mov eax, dword [esi + 0x364]
mov ecx, dword [eax + 0x78]
mov dword [esi + 0x3d8], ecx
mov eax, dword [eax + 0x7c]
mov dword [esi + 0x3dc], eax
mov eax, dword [esi + 0x1c4]
add eax, dword [esi + 0x3d8]
mov dword [esi + 0x1d0], eax
mov dword [esi + 0x1bc], 0x11ea1e2
jmp 0x417800
mov eax, dword [esi + 0x1c8]
mov ecx, dword [esi + 0x1d0]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x3dc]
mov eax, dword [esi + 0x1c8]
mov dword [eax], ecx
mov eax, dword [esi + 0x1c8]
lea eax, [esi + 0x3c0]
mov dword [esi + 0x1ec], eax
mov eax, dword [esi + 0x1ec]
mov dword [esi + 0x1f0], eax
mov dword [esi + 0x1e8], 0xdfd645b2
mov eax, dword [esi + 0x1e8]
mov dword [esi + 0x44], eax
sub eax, 0xb18b1574
je 0x417992
jmp 0x41794d
mov eax, dword [esi + 0x44]
sub eax, 0xdfd645b2
je 0x417965
jmp 0x417960
jmp 0x41798d
mov eax, dword [esi + 0x1f0]
mov eax, dword [eax + 8]
mov dword [esi + 0x1f4], eax
mov eax, dword [esi + 0x1f0]
mov eax, dword [eax + 4]
mov dword [esi + 0x1f8], eax
mov dword [esi + 0x1e8], 0xb18b1574
jmp 0x417934
mov eax, dword [esi + 0x1f4]
mov eax, dword [esi + 0x1f8]
mov dword [esi + 0x150], 0xeca13060
jmp 0x418791
mov eax, dword [esi + 0x158]
mov ecx, dword [esi + 0x168]
mov dword [eax], ecx
mov dword [esi + 0x150], 0x58803d27
jmp 0x418791
mov dword [esi + 0x150], 0xf15f8062
jmp 0x418791
mov eax, dword [esi + 0x17c]
mov dword [esi + 0x298], eax
lea eax, [esi + 0x3c0]
mov dword [esi + 0x294], eax
mov eax, dword [esi + 0x294]
mov dword [esi + 0x29c], eax
mov eax, dword [esi + 0x29c]
mov eax, dword [eax + 4]
mov dword [esi + 0x2a0], eax
mov eax, dword [esi + 0x29c]
mov eax, dword [eax + 4]
mov dword [esi + 0x2a4], eax
mov dword [esi + 0x290], 0x53ea7cb4
mov eax, dword [esi + 0x290]
mov dword [esi + 0x40], eax
sub eax, 0xa55bbde8
je 0x417b13
jmp 0x417a53
mov eax, dword [esi + 0x40]
sub eax, 0xb5a54b2e
je 0x417b8e
jmp 0x417a66
mov eax, dword [esi + 0x40]
sub eax, 0x172961dd
je 0x417baf
jmp 0x417a79
mov eax, dword [esi + 0x40]
sub eax, 0x479c63d5
je 0x417ac2
jmp 0x417a8c
mov eax, dword [esi + 0x40]
sub eax, 0x53ea7cb4
je 0x417aa4
jmp 0x417a9f
jmp 0x417baa
mov eax, dword [esi + 0x29c]
add eax, 8
mov dword [esi + 0x2a8], eax
mov dword [esi + 0x290], 0x479c63d5
jmp 0x417baa
mov eax, dword [0x43c55c]
mov ecx, dword [0x43c558]
mov edx, eax
sub edx, 0x2aa899e9
sub edx, 1
add edx, 0x2aa899e9
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, 0xb5a54b2e
mov ecx, 0xa55bbde8
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x290], eax
jmp 0x417baa
mov eax, dword [esi + 0x2a8]
mov eax, dword [eax]
mov ecx, dword [eax + 0x20]
mov eax, dword [esi + 0x2a4]
add eax, ecx
mov ecx, dword [esi + 0x298]
mov ecx, dword [eax + ecx*4]
mov eax, dword [esi + 0x2a0]
add eax, ecx
mov dword [esi + 0x2ac], eax
mov eax, dword [0x43c55c]
mov ecx, dword [0x43c558]
mov edx, eax
add edx, 0xaa2ae02c
sub edx, 1
sub edx, 0xaa2ae02c
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, 0xb5a54b2e
mov ecx, 0x172961dd
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x290], eax
jmp 0x417baa
mov eax, dword [esi + 0x2a8]
mov eax, dword [esi + 0x2a4]
mov eax, dword [esi + 0x2a0]
mov dword [esi + 0x290], 0xa55bbde8
jmp 0x417a3a
mov eax, dword [esi + 0x2ac]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x178]
mov dword [esi + 0x38], eax
mov eax, esp
mov dword [esi + 0x3c], eax
mov ecx, dword [0x43c554]
mov eax, dword [0x43c550]
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 + 0x23a], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [esi + 0x23b], al
mov dword [esi + 0x234], 0xd3016c96
mov eax, dword [esi + 0x234]
mov dword [esi + 0x30], eax
sub eax, 0x9142e050
je 0x4183b5
jmp 0x417c20
mov eax, dword [esi + 0x30]
sub eax, 0xa2ea1eef
je 0x4180f9
jmp 0x417c33
mov eax, dword [esi + 0x30]
sub eax, 0xad22e42a
je 0x4180dc
jmp 0x417c46
mov eax, dword [esi + 0x30]
sub eax, 0xb6575457
je 0x417f04
jmp 0x417c59
mov eax, dword [esi + 0x30]
sub eax, 0xb7eb797a
je 0x4182f6
jmp 0x417c6c
mov eax, dword [esi + 0x30]
sub eax, 0xc5344822
je 0x4180bb
jmp 0x417c7f
mov eax, dword [esi + 0x30]
sub eax, 0xcfd19c48
je 0x4182cd
jmp 0x417c92
mov eax, dword [esi + 0x30]
sub eax, 0xd3016c96
je 0x417db4
jmp 0x417ca5
mov eax, dword [esi + 0x30]
sub eax, 0xd3294dc2
je 0x417e08
jmp 0x417cb8
mov eax, dword [esi + 0x30]
sub eax, 0xd97550f9
je 0x417fff
jmp 0x417ccb
mov eax, dword [esi + 0x30]
sub eax, 0xf16ce2f5
je 0x417e7f
jmp 0x417cde
mov eax, dword [esi + 0x30]
sub eax, 0xfa3ae727
je 0x4182dc
jmp 0x417cf1
mov eax, dword [esi + 0x30]
sub eax, 0xfbfbc8e0
je 0x417e8e
jmp 0x417d04
mov eax, dword [esi + 0x30]
sub eax, 0x1e387de
je 0x417f8a
jmp 0x417d17
mov eax, dword [esi + 0x30]
sub eax, 0x99c3be6
je 0x418167
jmp 0x417d2a
mov eax, dword [esi + 0x30]
sub eax, 0x24d3fb6b
je 0x4182b0
jmp 0x417d3d
mov eax, dword [esi + 0x30]
sub eax, 0x253ffc69
je 0x417fd1
jmp 0x417d50
mov eax, dword [esi + 0x30]
sub eax, 0x2586384e
je 0x417f7b
jmp 0x417d63
mov eax, dword [esi + 0x30]
sub eax, 0x2efd285e
je 0x417fb4
mov bl, byte [esi + 0x23a]
mov dh, byte [esi + 0x23b]
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, 0xcfd19c48
mov ecx, 0xd3294dc2
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x234], eax
jmp 0x4183b0
push eax
mov eax, esp
mov dword [esi + 0x23c], eax
mov ecx, dword [0x43c554]
mov eax, dword [0x43c550]
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, 0xcfd19c48
mov ecx, 0xf16ce2f5
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x234], eax
jmp 0x4183b0
mov dword [esi + 0x234], 0xfbfbc8e0
jmp 0x4183b0
mov ecx, dword [0x43c554]
mov eax, dword [0x43c550]
mov edx, ecx
add edx, 0x39af1e17
sub edx, 1
sub edx, 0x39af1e17
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, 0xfa3ae727
mov ecx, 0xb6575457
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x234], eax
jmp 0x4183b0
mov ecx, dword [esi + 0x38]
push eax
mov eax, esp
mov dword [esi + 0x240], eax
push eax
mov eax, esp
mov dword [esi + 0x244], eax
push eax
mov eax, esp
mov dword [esi + 0x248], eax
mov eax, dword [esi + 0x23c]
mov dword [eax], ecx
mov eax, dword [0x43c554]
mov ecx, dword [0x43c550]
mov edx, eax
add edx, 0x4a82220e
sub edx, 1
sub edx, 0x4a82220e
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, 0xfa3ae727
mov ecx, 0x2586384e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x234], eax
jmp 0x4183b0
mov dword [esi + 0x234], 0x1e387de
jmp 0x4183b0
mov ecx, dword [esi + 0x34]
mov eax, dword [esi + 0x240]
mov dword [eax], ecx
mov eax, dword [esi + 0x23c]
mov ecx, dword [eax]
mov eax, dword [esi + 0x244]
mov dword [eax], ecx
mov dword [esi + 0x234], 0x2efd285e
jmp 0x4183b0
mov ecx, dword [esi + 0x24c]
add ecx, 1
mov eax, dword [esi + 0x240]
mov dword [eax], ecx
mov eax, dword [esi + 0x24c]
mov al, byte [eax]
mov byte [esi + 0x252], al
mov dword [esi + 0x234], 0xd97550f9
jmp 0x4183b0
mov eax, dword [0x43c554]
mov ecx, dword [0x43c550]
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, 0xb7eb797a
mov ecx, 0x47c61ce4
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x234], eax
jmp 0x4183b0
mov dl, byte [esi + 0x253]
mov eax, 0xad22e42a
mov ecx, 0xa2ea1eef
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x234], eax
jmp 0x4183b0
mov eax, dword [esi + 0x244]
mov eax, dword [eax]
mov dword [esi + 0x254], eax
mov dword [esi + 0x234], 0x9142e050
jmp 0x4183b0
mov ecx, dword [0x43c554]
mov eax, dword [0x43c550]
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, 0x530cdd26
mov ecx, 0x99c3be6
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x234], eax
jmp 0x4183b0
mov eax, dword [esi + 0x248]
mov al, byte [eax]
mov byte [esi + 0x27], al
mov eax, dword [esi + 0x244]
mov eax, dword [eax]
mov dword [esi + 0x28], eax
mov eax, esp
mov dword [esi + 0x2c], eax
mov dword [esi + 0x37c], 0x4e4f1274
mov eax, dword [esi + 0x37c]
mov dword [esi + 0x20], eax
sub eax, 0xf7619b97
je 0x4181e9
jmp 0x4181a5
mov eax, dword [esi + 0x20]
sub eax, 0x4e4f1274
je 0x4181bd
jmp 0x4181b8
jmp 0x4181e4
mov ecx, dword [esi + 0x28]
mov al, byte [esi + 0x27]
push eax
mov edx, esp
mov dword [esi + 0x384], edx
mov byte [esi + 0x383], al
mov eax, dword [esi + 0x384]
mov dword [eax], ecx
mov dword [esi + 0x37c], 0xf7619b97
jmp 0x41818c
mov eax, dword [esi + 0x384]
mov ebx, dword [eax]
movsx edi, byte [esi + 0x383]
mov eax, ebx
xor eax, 0xffffffff
and eax, 0x18025f98
mov ecx, 0xffffffff
xor ecx, 0x18025f98
and ebx, ecx
mov edx, edi
xor edx, 0xffffffff
and edx, 0x18025f98
and edi, ecx
mov ecx, dword [esi + 0x2c]
or eax, ebx
or edx, edi
xor eax, edx
imul eax, eax, 0x1000193
mov esp, ecx
mov dword [esi + 0x258], eax
mov ecx, dword [0x43c554]
mov eax, dword [0x43c550]
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, 0x530cdd26
mov ecx, 0x4a6c5a5e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x234], eax
jmp 0x4183b0
mov eax, dword [esi + 0x244]
mov ecx, dword [esi + 0x258]
mov dword [eax], ecx
mov dword [esi + 0x234], 0x2efd285e
jmp 0x4183b0
mov dword [esi + 0x234], 0xd3294dc2
jmp 0x4183b0
mov ecx, dword [esi + 0x38]
mov eax, dword [esi + 0x23c]
mov dword [eax], ecx
mov dword [esi + 0x234], 0xb6575457
jmp 0x4183b0
mov eax, dword [esi + 0x248]
mov cl, byte [esi + 0x252]
mov byte [eax], cl
mov eax, dword [esi + 0x248]
mov dword [esi + 0x234], 0x47c61ce4
jmp 0x4183b0
jmp 0x417c07
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi + 0x254]
mov esp, eax
mov eax, esp
mov dword [esi + 0xc], eax
mov ecx, dword [0x43c54c]
mov eax, dword [0x43c548]
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 + 0x2ce], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [esi + 0x2cf], al
mov dword [esi + 0x2c8], 0x264d8859
mov eax, dword [esi + 0x2c8]
mov dword [esi + 8], eax
sub eax, 0x84175ca5
je 0x41865a
jmp 0x41841f
mov eax, dword [esi + 8]
sub eax, 0xab190fe3
je 0x41858c
jmp 0x418432
mov eax, dword [esi + 8]
sub eax, 0xb8d89857
je 0x41856b
jmp 0x418445
mov eax, dword [esi + 8]
sub eax, 0xbfe554ef
je 0x418626
jmp 0x418458
mov eax, dword [esi + 8]
sub eax, 0xd06c8a44
je 0x41864b
jmp 0x41846b
mov eax, dword [esi + 8]
sub eax, 0xd65ab117
je 0x4185dd
jmp 0x41847e
mov eax, dword [esi + 8]
sub eax, 0x4b8c15c
je 0x41855c
jmp 0x418491
mov eax, dword [esi + 8]
sub eax, 0x264d8859
je 0x4184bc
jmp 0x4184a4
mov eax, dword [esi + 8]
sub eax, 0x2d23d9b6
je 0x4184eb
jmp 0x4184b7
jmp 0x418655
mov al, byte [esi + 0x2ce]
mov cl, byte [esi + 0x2cf]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xbfe554ef
mov ecx, 0x2d23d9b6
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c8], eax
jmp 0x418655
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [eax + 4], 0x67eaee52
mov dword [eax], 0x2755c364
mov eax, dword [eax]
mov dword [esi + 0x2d0], eax
mov dword [esi + 0x2d4], 0
mov eax, dword [0x43c54c]
mov ecx, dword [0x43c548]
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, 0xbfe554ef
mov ecx, 0x4b8c15c
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c8], eax
jmp 0x418655
mov dword [esi + 0x2c8], 0xb8d89857
jmp 0x418655
mov eax, dword [esi + 0x2d0]
mov ecx, dword [esi + 0x2d4]
mov dword [esi + 0x2dc], eax
mov dword [esi + 0x2c8], 0xab190fe3
jmp 0x418655
mov eax, dword [0x43c54c]
mov ecx, dword [0x43c548]
mov edx, eax
add edx, 0xe10a55e2
sub edx, 1
sub edx, 0xe10a55e2
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, 0xd06c8a44
mov ecx, 0xd65ab117
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c8], eax
jmp 0x418655
mov eax, dword [0x43c54c]
mov ecx, dword [0x43c548]
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, 0xd06c8a44
mov ecx, 0x84175ca5
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c8], eax
jmp 0x418655
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [eax + 4], 0x67eaee52
mov dword [eax], 0x2755c364
mov dword [esi + 0x2c8], 0x2d23d9b6
jmp 0x418655
mov dword [esi + 0x2c8], 0xd65ab117
jmp 0x418406
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x2dc]
mov esp, eax
mov dword [esi + 0x150], 0xe93f42b8
jmp 0x418791
mov eax, dword [esi + 0x184]
mov dword [esi + 0x310], eax
lea eax, [esi + 0x3c0]
mov dword [esi + 0x30c], eax
mov eax, dword [esi + 0x30c]
mov dword [esi + 0x314], eax
mov eax, dword [esi + 0x314]
mov eax, dword [eax + 4]
mov ecx, dword [esi + 0x314]
mov ecx, dword [ecx + 8]
add eax, dword [ecx + 0x1c]
mov dword [esi + 0x308], eax
mov eax, dword [esi + 0x314]
mov eax, dword [eax + 4]
mov ecx, dword [esi + 0x314]
mov ecx, dword [ecx + 8]
add eax, dword [ecx + 0x24]
mov dword [esi + 0x318], eax
mov dword [esi + 0x300], 0x1cb7c6db
mov eax, dword [esi + 0x300]
mov dword [esi + 4], eax
sub eax, 0x1cb7c6db
je 0x41871e
jmp 0x418706
mov eax, dword [esi + 4]
sub eax, 0x64f45bc8
je 0x418748
jmp 0x418719
jmp 0x418743
mov eax, dword [esi + 0x318]
mov dword [esi + 0x304], eax
mov eax, dword [esi + 0x314]
add eax, 4
mov dword [esi + 0x31c], eax
mov dword [esi + 0x300], 0x64f45bc8
jmp 0x4186ed
mov eax, dword [esi + 0x31c]
mov dword [esi + 0x150], 0xbfaaae95
jmp 0x418791
mov eax, dword [esi + 0x188]
mov dword [esi + 0x154], eax
mov dword [esi + 0x150], 0x6ed2a04
jmp 0x418791
mov dword [esi + 0x150], 0xc057af34
jmp 0x418791
mov dword [esi + 0x150], 0xabd7530a
jmp 0x414b00
mov ecx, dword [esi + 0xcc]
mov eax, dword [esi + 0x190]
mov esp, ecx
mov ecx, dword [esi + 0x148]
sub esp, 4
mov dword [esp], ecx
call eax
mov dword [esi + 0x14c], eax
mov dword [esi + 0x140], 0x7dc31360
jmp 0x418898
mov eax, dword [0x43c534]
mov ecx, dword [0x43c530]
mov edx, eax
add edx, 0x273236bd
sub edx, 1
sub edx, 0x273236bd
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, 0xe3dd01e1
mov ecx, 0xd88c9fa7
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x140], eax
jmp 0x418898
mov ecx, dword [0x43c534]
mov eax, dword [0x43c530]
mov edx, ecx
sub edx, 0x8ad815e4
sub edx, 1
add edx, 0x8ad815e4
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, 0xe3dd01e1
mov ecx, 0x34c249b2
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x140], eax
jmp 0x418898
mov dword [esi + 0x140], 0xd88c9fa7
jmp 0x414a5d
mov ecx, dword [esi + 0x14c]
mov eax, dword [esi + 0xfc]
mov dword [eax], ecx
mov eax, dword [esi + 0xfc]
cmp dword [eax], 0
setne al
and al, 1
mov byte [esi + 0x136], al
mov dword [esi + 0xe0], 0x9c7ccb04
jmp 0x418f10
mov ecx, dword [0x43c584]
mov eax, dword [0x43c580]
mov edx, ecx
sub edx, 0x5ac0fe70
sub edx, 1
add edx, 0x5ac0fe70
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, 0x99796afd
mov ecx, 0x77b0ca6d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0xe0], eax
jmp 0x418f10
mov dl, byte [esi + 0x136]
mov eax, 0xf9ed1680
mov ecx, 0xb26952af
test dl, 1
cmovne eax, ecx
mov dword [esi + 0xe0], eax
jmp 0x418f10
mov eax, dword [0x43c584]
mov ecx, dword [0x43c580]
mov edx, eax
add edx, 0x1499616d
sub edx, 1
sub edx, 0x1499616d
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, 0x226d821a
mov ecx, 0x6a4bc6ac
test dl, 1
cmovne eax, ecx
mov dword [esi + 0xe0], eax
jmp 0x418f10
mov dword [esi + 0xe0], 0x8e419b0b
jmp 0x418f10
mov eax, dword [0x43c584]
mov ecx, dword [0x43c580]
mov edx, eax
sub edx, 0x7ada84ba
sub edx, 1
add edx, 0x7ada84ba
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, 0xe75d3757
mov ecx, 0x1d186c31
test dl, 1
cmovne eax, ecx
mov dword [esi + 0xe0], eax
jmp 0x418f10
mov eax, dword [0x43c584]
mov ecx, dword [0x43c580]
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, 0xe75d3757
mov ecx, 0xc085f046
test dl, 1
cmovne eax, ecx
mov dword [esi + 0xe0], eax
jmp 0x418f10
mov dl, byte [esi + 0x137]
mov eax, 0x94bbda0c
mov ecx, 0x72eb7a1b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0xe0], eax
jmp 0x418f10
mov dword [esi + 0xe0], 0xf9ed1680
jmp 0x418f10
mov dword [esi + 0xf4], 0
mov dword [esi + 0xe0], 0x41271501
jmp 0x418f10
mov eax, dword [esi + 0xf4]
mov dword [esi + 0x13c], eax
mov ecx, dword [0x43c584]
mov eax, dword [0x43c580]
mov edx, ecx
add edx, 0xe9e3e69c
sub edx, 1
sub edx, 0xe9e3e69c
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, 0xd5be660c
mov ecx, 0x9ab4fd00
test dl, 1
cmovne eax, ecx
mov dword [esi + 0xe0], eax
jmp 0x418f10
mov dword [esi + 0xe0], 0x93856926
jmp 0x418f10
mov eax, dword [esi + 0x13c]
mov dword [esi], eax
mov ecx, dword [esi + 0x5f0]
xor ecx, ebp
call fcn.00423cc0
mov eax, dword [esi]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esi + 0xf4], 1
mov dword [esi + 0xe0], 0x69a9aeab
jmp 0x418f10
mov dword [esi + 0xe0], 0xd28b083e
jmp 0x418f10
mov dword [esi + 0xf4], 1
mov dword [esi + 0xe0], 0x59c1c5f7
jmp 0x418f10
mov dword [esi + 0xe0], 0xac57bafb
jmp 0x418f10
mov dword [esi + 0xe0], 0x1e6eb920
jmp 0x418f10
mov eax, dword [esi + 0x118]
sub esp, 4
mov dword [esp], eax
call fcn.00423cd7
add esp, 4
mov dword [esi + 0xe0], 0x24c13ee2
jmp 0x418f10
mov dword [esi + 0xf4], 1
mov dword [esi + 0xe0], 0xa5460df7
jmp 0x418f10
mov dword [esi + 0xe0], 0x1ff77c90
jmp 0x418f10
mov dword [esi + 0xe0], 0x77b0ca6d
jmp 0x418f10
mov dword [esi + 0xe0], 0x1d186c31
jmp 0x418f10
mov dword [esi + 0xe0], 0xfd6558b2
jmp 0x413298