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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x12c
mov eax, dword [0x10069040]
xor eax, esp
mov dword [esp + 0x128], eax
mov eax, dword [edx + 0x10]
mov dword [esp + 0xb8], eax
lea eax, [esp + 0x124]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
lea eax, [esp + 0x121]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
lea eax, [ecx + 0x14]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ecx
mov eax, dword [esp + 0x50]
xorps xmm0, xmm0
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0x4c]
mov dword [eax], 0xf
mov dword [esp + 0xfc], edx
mov dword [esp + 0xf8], edx
lea eax, [edx + 0x14]
mov dword [esp + 0x100], eax
cmp dword [esp + 0xb8], 0
sete byte [esp + 0x32]
mov dword [esp + 0x38], ecx
lea eax, [ecx + 0x10]
mov dword [esp + 0x94], eax
mov eax, 0xdf299899
mov ecx, 0xb21f6609
mov dword [esp + 0x68], edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x6c], edx
jmp 0x10050ae0
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x118], eax
movzx eax, byte [esp + 0x29]
mov byte [esp + 0x2e], al
mov eax, dword [esp + 0xec]
mov eax, dword [esp + 0xf0]
mov eax, dword [eax]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x8c]
cmp eax, dword [esp + 0xf4]
mov eax, 0x45742064
mov ecx, 0x326f26f3
cmovb eax, ecx
mov ecx, 0x2c336a54
nop dword [eax]
cmp ecx, 0x11258efa
jg 0x10050b50
cmp ecx, 0xc9db763e
jg 0x10050bd0
cmp ecx, 0xa7a81e5a
jle 0x10050dcc
cmp ecx, 0xb9fbf5e1
jg 0x10050f4c
cmp ecx, 0xb40fbc92
jle 0x10051ca4
cmp ecx, 0xb5f91270
jg 0x1005212d
cmp ecx, 0xb40fbc93
je 0x1005278f
cmp ecx, 0xb46821cc
jne 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x45742064
mov ecx, 0x13b5aa97
mov edx, 0x6cdfe869
cmove ecx, edx
jmp 0x10050ae0
cmp ecx, 0x54c863b8
jle 0x10050c40
cmp ecx, 0x6a744aa4
jle 0x10050e23
cmp ecx, 0x705ad707
jg 0x10050f97
cmp ecx, 0x6c36be0e
jle 0x10051ce3
cmp ecx, 0x6e8ce231
jg 0x10052160
cmp ecx, 0x6c36be0f
je 0x100527cd
cmp ecx, 0x6cdfe869
jne 0x10050ae0
movsx edx, byte [esp + 0x2e]
mov ecx, dword [esp + 0x38]
call fcn.10054370
mov eax, 0x4148e4d9
mov ecx, 0x2c336a54
jmp 0x10050ae0
cmp ecx, 0xfe5f81d6
jle 0x10050e7a
cmp ecx, 0x93991fa
jg 0x10050fe2
cmp ecx, 0x2f2b2d9
jle 0x10051d40
cmp ecx, 0x36c1c94
jg 0x10052193
cmp ecx, 0x2f2b2da
je 0x100527e8
cmp ecx, 0x31d18b4
jne 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0xbfd8e163
mov ecx, 0x13b5aa97
mov edx, 0xfe96bfc3
cmove ecx, edx
jmp 0x10050ae0
cmp ecx, 0x2fd5f076
jg 0x10050ef5
cmp ecx, 0x1e841506
jle 0x1005102d
cmp ecx, 0x2873ce80
jle 0x10051d7f
cmp ecx, 0x2c336a53
jg 0x10052354
cmp ecx, 0x2873ce81
je 0x10052804
cmp ecx, 0x2b18965a
jne 0x10050ae0
mov edx, dword [esp + 0xb0]
lea eax, [edx + edx]
xor eax, 0xd93f5c6a
add eax, edx
mov ecx, edx
or ecx, 0xec9fae35
sub eax, ecx
mov ecx, edx
xor ecx, 0x136051ca
add ecx, eax
mov eax, edx
and eax, 0xec9fae35
lea edx, [ecx + eax]
add eax, ecx
add eax, 0x136051cc
mov ecx, eax
and ecx, 2
add ecx, edx
add ecx, 0x136051cc
or eax, 0xfffffffd
sub eax, ecx
lea ecx, [eax + eax]
add ecx, 0x26c0a3a2
mov edx, ecx
and edx, 2
add eax, edx
add eax, 0x136051d1
or ecx, 0xfffffffc
sub ecx, eax
imul eax, ecx, 0x634c1fbb
add eax, 0x53c8be62
mov ecx, eax
and ecx, 0x7de9a03e
mov edx, eax
or edx, 0x82165fc1
add edx, ecx
xor eax, 0x7de9a03e
add eax, edx
imul ecx, eax, 0xeb5fcd73
lea eax, [ecx - 0x22f9c340]
mov edx, eax
and edx, 0xc57a3148
mov esi, eax
and esi, 0x3a85ceb7
sub esi, edx
add ecx, esi
add ecx, 0xdd063cc0
not eax
or eax, 0xc57a3148
add eax, ecx
lea ecx, [eax + edx]
add eax, edx
add eax, 0x3a85ceb9
mov edx, eax
and edx, 0xe5990b3
add ecx, edx
add ecx, 0x3a85ceb9
mov edx, eax
xor edx, 0xe5990b3
add edx, ecx
or eax, 0xe5990b3
sub edx, eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xc8], eax
movzx eax, byte [esp + 0x2a]
mov byte [esp + 0x16], al
movzx eax, byte [esp + 0x2b]
mov byte [esp + 0x17], al
movzx eax, byte [esp + 0x2c]
mov byte [esp + 0x18], al
add edx, 0xd3d3c1fb
mov dword [esp + 0xcc], edx
mov eax, dword [esp + 0x100]
cmp dword [eax], 0x10
mov eax, dword [esp + 0x104]
jae 0x1005424b
mov eax, dword [esp + 0xfc]
jmp 0x1005424d
cmp ecx, 0x9298de7d
jle 0x10051078
cmp ecx, 0x9dfd38a2
jle 0x10051dbe
cmp ecx, 0xa5409371
jg 0x10052460
cmp ecx, 0x9dfd38a3
je 0x1005281f
cmp ecx, 0xa2bedcf3
jne 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0xe1e235e3
mov ecx, 0x13b5aa97
mov edx, 0x643b5926
cmove ecx, edx
jmp 0x10050ae0
cmp ecx, 0x6249cee0
jle 0x100512dd
cmp ecx, 0x66575043
jle 0x10051e3e
cmp ecx, 0x681f88f0
jg 0x10052493
cmp ecx, 0x66575044
je 0x1005283a
cmp ecx, 0x667e38cc
jne 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x4148e4d9
mov ecx, 0x13b5aa97
mov edx, 0x6c0a259a
cmove ecx, edx
jmp 0x10050ae0
cmp ecx, 0xdb8f2ca6
jle 0x100519c4
cmp ecx, 0xfa032917
jle 0x10051e7d
cmp ecx, 0xfc15c099
jg 0x100524c6
cmp ecx, 0xfa032918
je 0x10052855
cmp ecx, 0xfbad5066
jne 0x10050ae0
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x84]
cmp eax, dword [esp + 0xd4]
mov eax, 0xae658ee8
mov ecx, 0x7b3780f5
jmp 0x10050ad4
cmp ecx, 0x41f3991a
jle 0x10051a0f
cmp ecx, 0x51912a36
jle 0x10051ebc
cmp ecx, 0x51e2e051
jg 0x100524f9
cmp ecx, 0x51912a37
je 0x10052870
cmp ecx, 0x51b43e8d
jne 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x92c04c44
mov ecx, 0x13b5aa97
mov edx, 0x615e5d5
cmove ecx, edx
jmp 0x10050ae0
cmp ecx, 0xbcf108c1
jle 0x10051ef3
cmp ecx, 0xc0e3509f
jg 0x1005252c
cmp ecx, 0xbcf108c2
je 0x1005288b
cmp ecx, 0xbfb2eed0
jne 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0xcfc0d03b
mov ecx, 0xdb8f2ca7
mov edx, 0x5bd1813a
cmovl ecx, edx
jmp 0x10050ae0
cmp ecx, 0x77541428
jle 0x10051f50
cmp ecx, 0x7cdaae4e
jg 0x1005255f
cmp ecx, 0x77541429
je 0x100528c1
cmp ecx, 0x799bdafc
jne 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x8b0dc39d
mov ecx, 0xdc281eb
mov edx, 0x6ec54ade
cmovl ecx, edx
jmp 0x10050ae0
cmp ecx, 0xf35c433
jle 0x10051f8f
cmp ecx, 0x10779901
jg 0x10052592
cmp ecx, 0xf35c434
je 0x100528dc
cmp ecx, 0xf383b40
jne 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0xe1e235e3
mov ecx, 0xcd33c71f
mov edx, 0xc9db763f
cmovl ecx, edx
jmp 0x10050ae0
cmp ecx, 0x189ed4b2
jg 0x10051fce
cmp ecx, 0x13b5aa96
jle 0x100525c5
cmp ecx, 0x13b5aa97
je 0x100528f7
cmp ecx, 0x1446de78
jne 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x486cb848
mov ecx, 0x13b5aa97
mov edx, 0x681f88f1
cmove ecx, edx
jmp 0x10050ae0
cmp ecx, 0x8d1bd14c
jg 0x1005200d
cmp ecx, 0x84011181
je 0x10050a81
cmp ecx, 0x8881a638
je 0x10052901
cmp ecx, 0x8ab0c38f
jne 0x10050ae0
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x9c]
mov byte [eax], cl
mov eax, dword [esp + 0xe4]
lea ecx, [eax + eax]
mov edi, ecx
xor edi, 2
mov edx, eax
not edx
add edi, edx
mov esi, ecx
and esi, 2
add esi, edi
and esi, eax
mov ebx, esi
not ebx
add ebx, 2
neg esi
lea edi, [esi + esi*2]
sub edi, ebx
add esi, esi
sub edi, esi
sub edi, ebx
lea esi, [edi + 2]
or esi, 0x649ddd0d
add esi, edi
mov ebx, 0xfffffffd
sub ebx, edi
or ebx, 0x649ddd0d
lea edi, [esi + ebx]
add ebx, esi
add ebx, 0x36c445e9
lea edi, [eax + edi*2]
add edi, 0x6d888bd2
mov esi, ebx
or esi, eax
not esi
add esi, edi
or ebx, edx
sub esi, ebx
mov edi, esi
not edi
mov ebx, esi
xor ebx, 0x649ddd0d
add ebx, esi
and edi, 0x9b6222f2
add edi, ebx
and esi, 0x649ddd0d
lea ebx, [edi + esi]
add esi, edi
add esi, 0x649ddd0e
mov edi, esi
or edi, 0x1bc2b06b
add edi, ebx
add edi, 0x649ddd0e
not esi
or esi, 0x1bc2b06b
lea ebx, [edi + esi]
add esi, edi
add esi, 1
mov edi, esi
not edi
and edi, 1
add edi, ebx
add edi, 1
mov ebx, esi
or ebx, 1
add edi, ebx
not ebx
lea edi, [edi + ebx*2]
lea ebx, [edi + esi]
add edi, esi
add edi, 3
mov esi, edi
and edi, 0xe43d4f94
add edi, ebx
add edi, 3
not esi
and esi, 0xe43d4f94
add esi, edi
and edx, 1
mov edi, eax
xor edi, 0xfffffffe
add edi, eax
xor eax, 1
add eax, edi
not ecx
and ecx, 0xfffffffd
add eax, ecx
add eax, 2
or eax, edx
not esi
mov ecx, eax
neg ecx
mov edx, esi
and edx, ecx
add edx, edx
sub edx, esi
sub edx, esi
lea eax, [edx + eax*2]
xor ecx, esi
lea edx, [eax + ecx]
add ecx, eax
add ecx, 0xd558ea0
mov eax, 1
sub eax, edx
and eax, 1
lea eax, [eax + edx*2]
add eax, 0x1aab1d40
or ecx, 1
sub eax, ecx
lea ecx, [eax + 1]
mov edx, ecx
not edx
mov esi, ecx
and esi, 0xd558ea0
xor ecx, 0xd558ea0
add ecx, esi
and edx, 0xf2aa715f
add edx, ecx
add eax, edx
add eax, 1
imul ecx, eax, 0xb7819887
add ecx, 0xa4146227
mov eax, ecx
or eax, 0xeb66aa25
not ecx
or ecx, 0x149955da
sub eax, ecx
mov ecx, eax
or ecx, 0x1cd38765
add ecx, eax
mov edx, eax
xor edx, 0xe32c789a
add edx, ecx
mov ecx, eax
not ecx
add ecx, edx
and eax, 0xe32c789a
add eax, ecx
imul eax, eax, 0xfe83ad37
lea ecx, [eax - 0x5d98e6a6]
and ecx, 0x673b757a
add ecx, eax
add ecx, 0xa267195a
mov edx, 0xdd98e6a5
sub edx, eax
or edx, 0x98c48a85
lea eax, [ecx + edx]
add ecx, edx
add ecx, 0x98c48a86
lea edx, [eax + eax*2]
add edx, 0xadb9ae50
lea esi, [eax + eax]
add esi, 0x73d11ee0
or esi, 0xce76eaf4
sub edx, esi
and ecx, 0xa12404ea
add eax, ecx
add eax, 0x98c48a86
sub ecx, eax
lea eax, [ecx + ecx]
add eax, 0xbdb7f62a
or eax, 0x3189150a
add eax, edx
add eax, 0x35b26071
mov dword [esp + 0xa0], eax
cmp eax, dword [esp + 0x5c]
mov eax, 0x8b0dc39d
mov ecx, 0x3b494bf4
jmp 0x10052c17
cmp ecx, 0x595f68f9
jg 0x1005204c
cmp ecx, 0x54c863b9
je 0x1005291c
cmp ecx, 0x57999934
je 0x10052937
cmp ecx, 0x58cd9cda
jne 0x10050ae0
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0x98]
mov byte [eax], cl
mov edi, ecx
movzx eax, byte [esp + 0x25]
shl al, 2
mov byte [esp + 0xc], al
mov ch, byte [esp + 0x20]
shr ch, 4
mov al, ch
xor al, 0xfc
mov ah, al
and ah, ch
sub ah, al
add ah, ch
mov cl, ch
add cl, ch
mov al, cl
or al, 6
sub ah, al
mov al, 0xa
sub al, ah
add ah, 0xf5
and al, 0xd
add al, ah
and ah, 0xd
add ah, al
mov al, ch
not al
mov edx, eax
and dl, 3
xor cl, 6
mov dh, ch
and dh, 3
add dh, cl
add dl, ch
sub dh, dl
and dh, al
movzx esi, dh
lea ebx, [esi + esi*2]
neg ebx
add esi, esi
lea edx, [esi + esi*2]
add dl, ah
add dl, bl
mov esi, edx
mov ah, ch
and ah, 2
xor ah, 0x42
add ah, al
or al, 3
add al, ch
mov edx, eax
not dl
mov bl, 0x7e
sub bl, al
add al, 1
mov dh, ch
xor dh, 3
add dl, dh
add dl, dl
mov cl, ch
xor cl, 0x7c
or cl, al
or al, dh
sub dl, al
add cl, cl
add cl, dl
or dh, bl
add dh, dh
sub cl, dh
mov al, cl
add al, cl
shl cl, 2
sub al, cl
mov cl, al
not cl
or cl, al
mov edx, esi
and cl, dl
sub al, cl
mov cl, ch
or cl, 0xfc
mov edx, ecx
neg dl
or dl, al
add cl, dl
add dl, al
sub cl, dl
mov al, cl
not al
or ch, 0x3d
add ch, ah
not ch
add ch, ch
mov edx, ecx
add dl, cl
or cl, 0x69
sub dl, cl
or al, 0x96
add al, dl
movzx eax, al
lea eax, [eax + eax*4]
lea eax, [eax + eax*2]
add al, 0xf
xor al, 0x80
movzx eax, al
mov edx, eax
shl edx, 4
add edx, eax
neg edx
xor dl, 0x80
mov al, ch
not al
mov cl, dl
and cl, al
add cl, dl
add cl, ch
xor ch, dl
not ch
add ch, cl
or al, dl
sub ch, al
mov al, ch
or al, 0x69
mov dl, ch
sub dl, al
add dl, ch
not ch
or ch, 0x96
add ch, dl
add ch, 0xd3
mov al, ch
and al, 0xea
add al, ch
add al, 0x2a
or ch, 0x15
mov dl, ch
not dl
add dl, al
sub ch, al
mov al, ch
and al, 0x15
add al, dl
xor dl, 0xea
add dl, al
or ch, 0x15
sub dl, ch
movzx eax, dl
imul ecx, eax, 0x7d
add cl, 0xbf
mov eax, ecx
and al, 0xaf
mov edx, ecx
or dl, 0x50
add dl, al
xor cl, 0xaf
add cl, dl
movzx eax, cl
imul ecx, eax, 0xffffffd5
add cl, 0xd5
mov eax, ecx
mov bh, byte [esp + 0xc]
xor al, bh
mov edx, eax
not dl
add dl, cl
not bh
or bh, cl
sub dl, bh
or dl, al
movzx eax, dl
imul ecx, eax, 0x23
mov eax, ecx
and al, 0xbf
mov edx, ecx
and dl, 0x40
add dl, cl
not cl
or cl, 0xbf
add cl, dl
mov edx, eax
sub dl, cl
not al
add al, dl
movzx eax, al
imul eax, eax, 0x75
add al, 0xb5
mov ecx, eax
not cl
and cl, 0xa3
add cl, al
or al, 0x5c
add al, cl
add al, 0x4c
mov byte [esp + 0x19], al
mov bh, byte [esp + 0x20]
shl bh, 4
mov byte [esp + 0xc], bh
movzx ecx, byte [esp + 0x1c]
mov ah, cl
shr ah, 2
mov al, ah
not al
add al, al
or al, 0xe0
shr cl, 1
and cl, 0x1e
add cl, al
mov dl, ah
xor dl, 0xf
add dl, cl
mov al, ah
or al, 0xf
sub dl, al
add dl, 1
mov al, dl
not al
movzx ecx, al
lea ecx, [ecx + ecx*2]
add dl, dl
add dl, cl
mov al, ah
and al, 0x30
mov byte [esp + 8], al
xor al, 0xf0
mov ch, ah
and ch, 0xf
sub al, ch
or ah, 0xf0
add ah, al
mov dh, 0xef
sub dh, ah
add ah, 0xf
mov cl, dh
not cl
mov ch, ah
add ch, ah
not ah
add ah, ch
mov bl, ah
add bl, 2
mov bh, bl
and bh, 0xcd
mov ch, 0xfd
sub ch, ah
mov al, ch
and al, 0xcd
add al, bh
or bl, 0xcd
add bl, al
and ch, 0x32
add ch, ch
add ch, bl
add ch, ah
and cl, 0xcd
add cl, dh
mov ah, cl
add ah, 0x33
mov dh, 0x7b
sub dh, ch
add ch, 4
and dh, ah
add dh, dh
add dh, ch
mov al, ch
xor al, ah
add al, cl
sub dh, al
or ch, ah
add ch, dh
add ch, 0xcd
mov al, ch
xor al, 0x32
add al, ch
not ch
mov cl, ch
or cl, 0x32
add cl, al
or ch, 0xcd
add ch, cl
mov ah, 0xfe
sub ah, ch
mov al, 0xbc
sub al, dl
mov cl, al
and cl, ah
add cl, ch
add dl, 0x43
mov ch, dl
and ch, ah
add ch, dl
sub ch, cl
xor dl, ah
add dl, ch
add dl, al
mov eax, edx
add al, 0xff
mov ecx, eax
add cl, al
and cl, 0x7c
add cl, al
mov ah, al
or ah, 0x41
sub cl, ah
mov ah, al
or ah, 0xbe
add ah, cl
add ah, 0x43
sub al, ah
sub ah, dl
xor ah, 0xef
add al, al
or al, 0x20
sub ah, al
mov al, ah
add al, 0xff
mov dh, byte [esp + 8]
mov dl, dh
not dl
or al, 0xf6
neg ah
or ah, 9
sub al, ah
mov ah, al
not ah
mov cl, ah
and cl, dl
mov ch, al
sub ch, cl
add ch, dl
xor al, dl
add al, ch
add al, ah
or ah, dh
sub al, ah
mov cl, 0xf6
sub cl, al
add al, 9
mov edx, eax
and dl, 0xa0
add dl, al
or cl, 0x5f
add cl, dl
mov edx, ecx
add dl, 0x60
mov eax, edx
and al, 1
add dl, al
add cl, 0x61
movzx esi, cl
lea ebx, [esi + esi*2]
add cl, cl
or cl, 0x40
sub bl, cl
sub al, dl
add al, al
add al, 0xfc
or al, 0xbe
add al, bl
add al, 0xe3
movzx edx, al
imul eax, edx, 0x5d
mov ecx, eax
not cl
imul edx, edx, 0xffffffba
xor dl, 0xb6
add dl, al
mov ch, al
or ch, 0x24
add ch, dl
xor al, 0x24
add al, ch
or cl, 0xdb
add cl, al
add cl, 0xdf
movzx esi, cl
imul ecx, esi, 0xfffffff5
mov ah, cl
mov ebp, ecx
add ah, 0x74
mov al, ah
not al
mov dh, ah
movzx ecx, byte [esp + 0xc]
and dh, cl
mov dl, ah
or dl, cl
mov byte [esp + 8], dl
mov bh, cl
mov bl, dh
not bl
add bl, dl
add bl, dh
add bl, 1
or al, ah
and al, 0x4a
mov ecx, ebp
add al, cl
add al, 0x75
mov ecx, eax
add cl, al
add cl, bl
mov dl, al
or dl, bl
sub cl, dl
add cl, bl
and al, bl
sub cl, al
mov al, cl
and al, 0x4a
add al, cl
mov dl, cl
xor dl, 0x4a
add dl, al
or cl, 0x4a
sub cl, dl
mov ch, bh
not ch
mov al, 0x8b
mov ebx, ebp
sub al, bl
mov dl, ah
mov bl, ch
and dl, ch
mov ch, dl
add ch, dl
sub dh, ch
mov ch, ah
mov bh, byte [esp + 0xc]
xor ch, bh
add dh, ch
or ah, bl
add ah, dh
or al, bh
add dl, bh
add dl, ch
not ah
add ah, al
not dl
add dl, byte [esp + 8]
and dl, ah
not dl
add dl, cl
add dl, 0x4d
mov eax, edx
add al, dl
sub dl, al
add dl, 1
mov ch, dl
not ch
mov cl, byte [esp + 0x20]
shl cl, 5
add bl, cl
lea eax, [esi + esi*4]
lea eax, [esi + eax*2]
add al, 0x8b
sub cl, bh
mov dh, al
and dh, cl
mov bh, 0xfe
sub bh, bl
and bh, al
add bh, dh
or cl, al
not cl
add cl, bh
add cl, bl
add cl, 2
mov eax, ecx
not al
add al, al
add al, cl
movzx eax, al
imul eax, eax, 0xffffffd7
xor al, 0x80
movzx eax, al
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
and ch, 0x68
add ch, dl
or dl, 0x97
add dl, ch
add dl, al
movzx eax, dl
imul eax, eax, 0xffffffcb
mov cl, 0x9b
sub cl, al
add al, 4
and cl, 0x14
add cl, al
and al, 0x14
add al, cl
movzx eax, al
imul eax, eax, 0xffffffe3
mov ecx, eax
and cl, 0x48
add cl, cl
mov edx, eax
add dl, al
sub dl, cl
xor al, 0x37
add al, dl
add al, 1
mov byte [esp + 0x1a], al
movzx ebx, byte [esp + 0x1c]
shl bl, 6
mov ecx, ebx
add cl, 0x58
mov edx, ecx
xor dl, 0x57
add dl, bl
mov ah, cl
add ah, cl
xor ah, 0x52
add ah, dl
or cl, 0x57
add cl, ah
mov dl, 0x27
sub dl, bl
or dl, 0xa8
add dl, cl
add dl, 1
mov ecx, edx
not cl
and cl, 0x48
movzx ecx, cl
lea ecx, [ecx + ecx*2]
add cl, dl
mov ah, dl
add ah, dl
mov dh, ah
or dh, 0x90
sub cl, dh
or dl, 0xb7
add dl, cl
add dl, ah
mov eax, edi
add dl, al
mov esi, edi
mov ah, 0xb6
sub ah, dl
add dl, 0x49
mov ecx, edx
or cl, 0x48
add cl, dl
or ah, 0x48
add ah, cl
mov byte [esp + 0xc], ah
mov ecx, ebx
not cl
mov eax, edi
mov ch, al
not ch
mov dl, ch
and dl, 0x4d
add dl, ch
mov byte [esp + 8], dl
mov byte [esp + 6], ch
mov al, ch
mov edx, ebx
xor dl, ch
mov byte [esp + 0x30], cl
or ch, cl
add cl, cl
add al, al
mov byte [esp + 0x2f], al
mov bh, byte [esp + 0x1c]
shl bh, 7
sub bh, al
add dl, bh
mov bh, bl
mov eax, edi
or bh, al
add bh, bh
sub dl, bh
add ch, ch
add ch, dl
mov al, ch
and al, bl
sub al, ch
mov dl, ch
not dl
and dl, bl
add dl, dl
sub al, dl
add al, bl
mov byte [esp + 7], al
xor ch, bl
mov byte [esp + 0x31], ch
mov dh, bl
or dh, 1
add cl, dh
mov eax, ecx
and al, 0x4d
add al, cl
mov dl, cl
add dl, cl
add dl, al
mov ah, cl
xor ah, 0x4c
add ah, dl
mov ebx, edi
mov ch, bl
add ch, byte [esp + 0x2f]
add ch, 1
mov dl, ch
not dl
and dl, cl
add dl, ch
xor ch, cl
mov al, cl
not al
add al, al
add al, ah
mov cl, byte [esp + 0x30]
add al, 0x50
or cl, 0xb2
add cl, dh
mov ah, al
not ah
and ah, cl
or cl, al
mov dh, cl
add dh, cl
add dh, ah
not cl
add cl, cl
add cl, dh
add cl, al
mov eax, ebx
add al, bl
and al, 0x9a
add al, byte [esp + 8]
mov ah, bl
xor ah, 0x4d
add ah, al
mov al, bl
and al, 0xb2
mov dh, al
add dh, bl
movzx ebx, byte [esp + 6]
or bl, 0xb2
add bl, dh
not al
add al, bl
mov dh, byte [esp + 0xc]
add dh, 0x70
add cl, 2
add ah, 0xb4
add al, 2
or al, ah
xor al, cl
mov cl, dh
not cl
add cl, cl
mov ah, dh
add ah, dh
add ah, cl
sub ah, dh
mov cl, 0xfe
sub cl, ah
add ah, 1
mov dh, al
neg dh
add al, al
xor ah, dh
add ah, al
or dh, cl
add dh, dh
add dh, ah
add dh, 2
mov al, ch
sub al, dl
sub dl, ch
add dl, dl
add dl, al
add dl, 1
mov eax, edx
add al, dl
sub dl, al
mov al, dh
add al, dh
sub al, dl
mov cl, 0xfe
sub cl, dl
add dl, 1
or dl, dh
not dl
add dl, al
or cl, dh
not cl
add cl, dl
mov ah, byte [esp + 0x31]
add ah, byte [esp + 7]
mov al, ah
not al
mov dl, ah
and dl, 0xe7
or ah, 0xe7
add ah, dl
mov edx, eax
and dl, 0x18
or al, 0xe7
add al, ah
add al, 0x1a
or al, dl
xor al, 0xe7
mov edx, ecx
and dl, al
add dl, cl
mov ah, cl
xor ah, al
add ah, dl
or cl, al
add cl, al
sub ah, cl
mov byte [esp + 0x1b], ah
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0xd0]
mov eax, 0xf899fbd9
mov ecx, 0x92c04c44
jmp 0x10050ad4
cmp ecx, 0xd21df4ed
jg 0x100520af
cmp ecx, 0xc9db763f
je 0x10052952
cmp ecx, 0xcd33c71f
je 0x1005296d
cmp ecx, 0xcd669889
jne 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x636b1de2
mov ecx, 0xbc175f90
mov edx, 0x1446de78
cmovl ecx, edx
jmp 0x10050ae0
cmp ecx, 0x384893be
jg 0x100520ee
cmp ecx, 0x2fd5f077
je 0x10052988
cmp ecx, 0x3459bcb6
je 0x100529a3
cmp ecx, 0x37f5e0be
jne 0x10050ae0
mov eax, dword [esp + 0xe8]
movsx eax, byte [eax]
push dword [esp + 0xdc]
push eax
push dword [esp + 0xe8]
call fcn.10057390
add esp, 0xc
mov ecx, dword [esp + 0x10c]
mov edi, eax
not edi
mov edx, eax
and edx, 0x80a713a6
lea edx, [edx + edi*2]
mov esi, edi
or esi, 0x80a713a6
sub edx, esi
and edx, ecx
mov esi, eax
neg esi
mov ebx, edx
sub ebx, eax
mov dword [esp + 0xc], eax
add ebx, edx
lea ebp, [eax - 1]
or ebp, edx
not edx
or edx, esi
add edx, ebx
add edx, eax
add edx, 0xffffffff
not edx
add edx, ebp
mov dword [esp + 8], ecx
lea esi, [ecx + ecx]
mov eax, esi
sub eax, ecx
mov ebp, eax
not ebp
mov ebx, edx
and ebx, ebp
add ebx, edx
sub ebx, eax
mov ecx, edx
xor ecx, ebp
add ecx, ebx
or ebp, edx
sub ecx, ebp
mov eax, dword [esp + 0xc]
lea ebx, [eax + edi*2]
lea edx, [eax + edi*2]
add edx, 1
or edx, 0x48508878
sub ebx, edx
mov edx, eax
and edx, 0xb7af7787
mov ebp, edi
and ebp, 0x48508878
or ebp, edx
add ebx, 0x48508879
or edi, 0xb7af7787
sub ebp, edi
add ebp, 0xb7af7787
mov edi, ebx
not edi
mov edx, ebp
and edx, edi
mov eax, ebx
or eax, ebp
add eax, edx
xor ebx, ebp
not ebx
add ebx, eax
or edi, ebp
sub ebx, edi
mov ebp, dword [esp + 8]
mov eax, ebp
and eax, 0xb7af7787
xor esi, 0x6f5eef0e
add esi, eax
mov edx, ebp
or edx, 0xb7af7787
sub esi, edx
mov edx, ebp
not edx
or edx, 0x48508878
mov edi, ebp
xor edi, 0x48508878
add edx, edi
add edx, 1
add esi, edi
lea edi, [eax + esi]
add eax, esi
add eax, 1
not eax
and eax, edx
lea esi, [eax + edi]
add esi, 1
xor esi, ebx
lea eax, [ecx + ecx]
or eax, 0xc03b2b58
add eax, ecx
mov edx, ecx
xor edx, 0x9fe26a53
add edx, eax
not ecx
add ecx, edx
lea eax, [ecx + esi]
lea edx, [esi + ecx]
add edx, 0x3fc4d4aa
mov ecx, edx
and ecx, 0x9fe26a53
add eax, ecx
add eax, 0x3fc4d4aa
mov ecx, edx
xor ecx, 0x9fe26a53
add ecx, eax
or edx, 0x9fe26a53
sub edx, ecx
lea esi, [edx - 0x601d95ac]
mov ebx, dword [esp + 0xc]
lea eax, [ebx + ebx]
add eax, 1
sub eax, ebx
mov ecx, eax
not ecx
and ecx, esi
add ecx, edx
add ecx, 0x9fe26a54
add ecx, eax
not esi
or esi, eax
lea eax, [ecx + esi]
lea edx, [esi + ecx]
add edx, 1
mov edi, ebp
and edi, ebx
mov ecx, edi
not ecx
lea esi, [edi + ecx*2]
not esi
lea ecx, [edi + ecx*2]
add ecx, 1
mov edi, edx
or edi, ecx
add eax, edi
add eax, 1
sub esi, eax
lea eax, [esi + edi*2]
mov esi, edx
xor esi, ecx
not esi
add esi, eax
and edx, ecx
not edx
add edx, esi
imul edx, edx, 0x5fb63689
lea ecx, [edx - 0x11158d74]
mov eax, ecx
xor eax, 0xdf381292
add eax, edx
lea esi, [edx + edx]
add esi, 0xddd4e518
xor esi, 0x418fdada
add esi, eax
or ecx, 0xdf381292
add ecx, esi
mov eax, 0x11158d73
sub eax, edx
or eax, 0x20c7ed6d
add eax, ecx
imul eax, eax, 0x70f81fb9
lea ecx, [eax - 0x1fc14202]
or ecx, 0x682d393b
add ecx, eax
mov edx, 0x1fc14201
sub edx, eax
or edx, 0x682d393b
lea eax, [ecx + edx]
add ecx, edx
add ecx, 0xe03ebdff
mov edx, ecx
not edx
and edx, 0xa7c67f3
lea eax, [edx + eax*2]
add eax, 0xc07d7bfe
or ecx, 0xa7c67f3
sub eax, ecx
add eax, 0xa7c67f4
mov dword [esp + 0x9c], eax
test ebx, ebx
mov eax, 0xa4513d3f
mov ecx, 0x486cb848
jmp 0x10052c17
cmp ecx, 0xa7a81e5b
je 0x100529e0
cmp ecx, 0xb21f6609
je 0x100529f3
cmp ecx, 0xb39c5703
jne 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x92c04c44
mov ecx, 0x51b43e8d
mov edx, 0xc0e350a0
cmovl ecx, edx
jmp 0x10050ae0
cmp ecx, 0x6a744aa5
je 0x10052a00
cmp ecx, 0x6c0a259a
je 0x10052a1b
cmp ecx, 0x6c0c36d3
jne 0x10050ae0
mov eax, dword [esp + 0x40]
movzx eax, byte [esp + 0x1b]
mov byte [esp + 0x28], al
movzx eax, byte [esp + 0x1a]
mov byte [esp + 0x27], al
mov ecx, 0x2c336a54
mov dword [esp + 0xa8], 0
mov eax, 0x39c8b11a
movzx edx, byte [esp + 0x19]
mov byte [esp + 0x26], dl
jmp 0x10050ae0
cmp ecx, 0xfe5f81d7
je 0x10052c24
cmp ecx, 0xfe96bfc3
je 0x10052db5
cmp ecx, 0x1621a9
jne 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0xf899fbd9
mov ecx, 0x13b5aa97
mov edx, 0xa7a81e5b
cmove ecx, edx
jmp 0x10050ae0
cmp ecx, 0x1e841507
je 0x10052dff
cmp ecx, 0x1f083f70
je 0x10052e1a
cmp ecx, 0x221bbf81
jne 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0xbce4e206
mov ecx, 0x13b5aa97
mov edx, 0x11258efb
cmove ecx, edx
jmp 0x10050ae0
cmp ecx, 0x9298de7e
je 0x10052e35
cmp ecx, 0x9651efdb
je 0x100534e3
cmp ecx, 0x982c12e3
jne 0x10050ae0
mov eax, 0x1017ae7c
mov ecx, dword [0x1017ae8c]
mov dword [esp + 0xdc], ecx
cmp dword [0x1017ae90], 0x10
jb 0x10051e02
mov eax, dword [0x1017ae7c]
mov dword [esp + 0xe0], eax
cmp dword [esp + 0xdc], 0
sete byte [esp + 0x33]
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x10c], eax
mov ecx, 0x2c336a54
mov dword [esp + 0xa0], 0
mov eax, 0x8b0dc39d
jmp 0x10050ae0
cmp ecx, 0x6249cee1
je 0x100534fe
cmp ecx, 0x643b5926
je 0x10053c68
cmp ecx, 0x64a7500f
jne 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0xb23c9875
mov ecx, 0x13b5aa97
mov edx, 0xb40fbc93
cmove ecx, edx
jmp 0x10050ae0
cmp ecx, 0xdb8f2ca7
je 0x10053c84
cmp ecx, 0xddc5cb71
je 0x10053c9f
cmp ecx, 0xded05187
jne 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x7b3780f5
mov ecx, 0xfc15c09a
mov edx, 0x7d09887c
cmovl ecx, edx
jmp 0x10050ae0
cmp ecx, 0x41f3991b
je 0x10053cba
cmp ecx, 0x47d8d822
je 0x10053cd5
cmp ecx, 0x4db98c79
jne 0x10050ae0
movsx edx, byte [esp + 0x1a]
mov ecx, dword [esp + 0x38]
call fcn.10054370
jmp 0x10054331
cmp ecx, 0xb9fbf5e2
je 0x10053cf0
cmp ecx, 0xbc175f90
je 0x10053d0b
cmp ecx, 0xbc951714
jne 0x10050ae0
mov eax, dword [esp + 0xa0]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xe4]
lea ecx, [esp + 0x124]
add eax, ecx
mov dword [esp + 0xe8], eax
cmp byte [esp + 0x33], 0
mov eax, 0x636b1de2
mov ecx, 0x486cb848
jmp 0x100527f7
cmp ecx, 0x705ad708
je 0x10053d26
cmp ecx, 0x72e1e186
je 0x10053e2c
cmp ecx, 0x7431a68a
jne 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0xbfd8e163
mov ecx, 0x31d18b4
mov edx, 0x221bbf81
cmovl ecx, edx
jmp 0x10050ae0
cmp ecx, 0x93991fb
je 0x10053e47
cmp ecx, 0xd1d02d0
je 0x10053e62
cmp ecx, 0xdc281eb
jne 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x8b0dc39d
mov ecx, 0x13b5aa97
mov edx, 0xbc951714
cmove ecx, edx
jmp 0x10050ae0
cmp ecx, 0x189ed4b3
je 0x10053f10
cmp ecx, 0x198aaf5a
je 0x10053f1a
cmp ecx, 0x1afe4889
jne 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x6eb40b9d
mov ecx, 0x1f083f70
mov edx, 0xcd669889
cmovl ecx, edx
jmp 0x10050ae0
cmp ecx, 0x8d1bd14d
je 0x10053f4a
cmp ecx, 0x90a51a18
je 0x10053f65
cmp ecx, 0x90d81258
jne 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x305d66b0
mov ecx, 0x13b5aa97
mov edx, 0x9298de7e
cmove ecx, edx
jmp 0x10050ae0
cmp ecx, 0x595f68fa
je 0x10053f80
cmp ecx, 0x5bd1813a
je 0x10053f9b
cmp ecx, 0x5c2cc3bc
jne 0x10050ae0
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0xd8]
mov eax, 0x773a9ac3
mov ecx, 0xe4501ae5
jmp 0x10050ad4
cmp ecx, 0xd21df4ee
je 0x10053fb6
cmp ecx, 0xd66cf5b4
je 0x10053fd1
cmp ecx, 0xdb437943
jne 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0xfdef4540
mov ecx, 0x13b5aa97
mov edx, 0x982c12e3
cmove ecx, edx
jmp 0x10050ae0
cmp ecx, 0x384893bf
je 0x10053fec
cmp ecx, 0x3f001529
je 0x10054007
cmp ecx, 0x3f5267e8
jne 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0xf9f2dc04
mov ecx, 0x13b5aa97
mov edx, 0x6e8ce232
cmove ecx, edx
jmp 0x10050ae0
cmp ecx, 0xb5f91271
je 0x10054022
cmp ecx, 0xb905053c
jne 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x326f26f3
mov ecx, 0x8881a638
mov edx, 0x90d81258
cmovl ecx, edx
jmp 0x10050ae0
cmp ecx, 0x6e8ce232
je 0x10054035
cmp ecx, 0x6ec54ade
jne 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x84329f9b
mov ecx, 0x13b5aa97
mov edx, 0xbcf108c2
cmove ecx, edx
jmp 0x10050ae0
cmp ecx, 0x36c1c95
je 0x100540fb
cmp ecx, 0x615e5d5
jne 0x10050ae0
mov esi, dword [esp + 0x80]
lea edx, [esi*4 + 2]
sub edx, esi
sub edx, esi
mov ecx, esi
not ecx
lea edi, [esi + ecx*2]
lea eax, [ecx + ecx]
lea ebx, [esi + ecx*2]
add ebx, 1
add edi, edi
add edi, 2
xor edi, 0x7ffffffc
mov ebp, ebx
xor ebp, 1
add edi, ebp
add edi, 1
and edi, ebx
add edi, edi
sub edx, edi
mov edi, esi
xor edi, 1
lea ebx, [edi + ecx]
mov ebp, ecx
or ebp, 0xfffffffe
sub ebx, ebp
or esi, 0xfffffffe
add esi, edi
add esi, 1
or esi, ebx
add esi, edx
mov edx, esi
xor edx, 0x5ded7cc0
add edx, esi
mov edi, esi
not edi
and edi, 0xa212833f
add edi, edx
and esi, 0x5ded7cc0
lea edx, [edi + esi]
add esi, edi
add esi, 0x5ded7cc1
lea edi, [edx + edx]
add edi, 0xbbdaf982
or edi, 0xfffffffa
lea edx, [edi + edx*2]
add edx, 0xbbdaf982
mov edi, esi
xor edi, 2
add edi, edx
not esi
lea edx, [edi + esi*2]
lea esi, [edi + esi*2]
add esi, 8
mov edi, esi
and edi, 0xa212833f
add edx, edi
add edx, 8
not esi
or esi, 0x5ded7cc0
lea edi, [edx + esi]
add edx, esi
add edx, 0xa2128341
mov esi, edx
and esi, 0x706e7f02
add esi, edi
add esi, 0xa2128341
mov edi, edx
or edi, 0x8f9180fd
add edi, esi
mov esi, edx
xor esi, 0x706e7f02
lea ebx, [edi + esi]
add esi, edi
add esi, 0x706e7f04
mov edi, edx
not edi
add edi, ebx
add edi, 0x706e7f04
mov ebx, edi
or ebx, eax
not eax
mov ebp, edi
and ebp, eax
lea ebp, [edi + ebp*2]
lea ebp, [ebp + ecx*2]
sub ebp, ebx
lea ecx, [ecx*4]
add ecx, ebp
or eax, edi
add eax, ecx
sub edx, esi
add edx, eax
imul ecx, edx, 0xf2e3b843
lea eax, [ecx - 0x4d983fc6]
mov edx, 0x4d983fc5
sub edx, ecx
and edx, 0xd36c592b
add ecx, edx
add ecx, 0xb267c03a
and eax, 0xd36c592b
add eax, ecx
imul ecx, eax, 0x6c74546b
mov edx, ecx
and edx, 0x6b65bb37
add edx, edx
imul eax, eax, 0xd8e8a8d6
sub eax, edx
xor ecx, 0x949a44c8
add eax, ecx
add eax, 0xc09d3638
mov ecx, eax
xor ecx, 0x6b65bb37
and eax, 0xeb65bb37
lea edx, [ecx + eax*2]
add edx, 0x29348992
mov esi, dword [esp + 0x44]
mov dword [esi], edx
mov esi, dword [esp + 0xd0]
mov edx, dword [esp + 0x7c]
cmp esi, 0x10
jae 0x1005429d
mov edx, dword [esp + 0x50]
jmp 0x1005429f
cmp ecx, 0x2c336a54
je 0x10054116
cmp ecx, 0x2d575952
jne 0x10050ae0
movzx eax, byte [esp + 0x12]
push eax
call fcn.10058870
add esp, 4
movzx ecx, byte [esp + 0x12]
mov ch, cl
and ch, 0xfb
mov edx, ecx
not dl
mov dh, cl
xor dh, 4
mov ebx, edx
or bl, 0xfb
add bl, dh
mov dh, cl
and dh, 4
add dh, bl
mov ebx, ecx
or bl, 4
sub dh, bl
add dh, 1
mov bl, ch
neg bl
mov bh, ch
add bh, ch
add ch, 0xff
or ch, dh
and bl, dh
sub dh, bh
add ch, dh
not bl
add bl, ch
mov ch, 0xfe
sub ch, bl
mov dh, cl
add dh, cl
add dh, dl
sub dh, cl
add dh, 1
add dl, dh
mov ebx, edx
and bl, 4
mov bh, dl
add bh, dl
and bh, 0xf6
add bh, bl
mov bl, dl
or bl, 4
or dl, 0xfb
add dl, bh
sub dl, bl
sub cl, dh
add cl, dl
mov dl, ch
xor dl, 0x66
add ch, ch
and ch, 0xcc
add ch, dl
add ch, cl
add ch, 0x3e
mov dl, ch
not dl
mov cl, ch
add cl, ch
and dl, 0x66
add dl, cl
or ch, 0x66
sub dl, ch
add dl, 0xfd
mov ecx, edx
and cl, 0x2d
add dl, cl
add dl, 0x2e
mov ch, cl
not ch
add ch, dl
movzx esi, ch
lea ebx, [esi + esi*2]
add ch, ch
or ch, 0x34
sub bl, ch
sub cl, dl
add cl, cl
or cl, 0xca
add cl, bl
add cl, 0x9b
mov edx, ecx
add dl, cl
or dl, 0xa4
xor cl, 0x2d
add cl, dl
test eax, eax
mov eax, 0xb23c9875
mov edx, 0xbce4e206
cmovne eax, edx
cmp cl, 0x29
cmove eax, edx
jmp 0x10054270
cmp ecx, 0xa5409372
je 0x10054120
cmp ecx, 0xa5990711
jne 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0xf899fbd9
mov ecx, 0x51912a37
mov edx, 0xd66cf5b4
cmovl ecx, edx
jmp 0x10050ae0
cmp ecx, 0x681f88f1
je 0x1005413b
cmp ecx, 0x68a34864
jne 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0xff6f4f0a
mov ecx, 0x13b5aa97
mov edx, 0x58cd9cda
cmove ecx, edx
jmp 0x10050ae0
cmp ecx, 0xfc15c09a
je 0x10054155
cmp ecx, 0xfc89eb8f
jne 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x1ccd84a4
mov ecx, 0x13b5aa97
mov edx, 0x84011181
cmove ecx, edx
jmp 0x10050ae0
cmp ecx, 0x51e2e052
je 0x10054170
cmp ecx, 0x52930619
jne 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0xc38771b2
mov ecx, 0x9651efdb
mov edx, 0x90a51a18
cmovl ecx, edx
jmp 0x10050ae0
cmp ecx, 0xc0e350a0
je 0x1005418b
cmp ecx, 0xc4010a53
jne 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x2c6cd6c8
mov ecx, 0x13b5aa97
mov edx, 0x5c2cc3bc
cmove ecx, edx
jmp 0x10050ae0
cmp ecx, 0x7cdaae4f
je 0x100541a6
cmp ecx, 0x7d09887c
jne 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x773a9ac3
mov ecx, 0x13b5aa97
mov edx, 0xb5f91271
cmove ecx, edx
jmp 0x10050ae0
cmp ecx, 0x10779902
je 0x10054219
cmp ecx, 0x111f530e
jne 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x2b03c9fc
mov ecx, 0x13b5aa97
mov edx, 0x132e7fad
cmove ecx, edx
jmp 0x10050ae0
cmp ecx, 0x11258efb
jne 0x10054340
mov eax, dword [esp + 0x60]
mov ecx, eax
not ecx
lea edx, [eax + eax]
or eax, 0x9deaf2f3
sub edx, eax
or ecx, 0x62150d0c
lea eax, [edx + ecx]
add ecx, edx
add ecx, 0x3b4745f6
not ecx
mov edx, ecx
and edx, 0xfffffffe
add eax, edx
add eax, 0x3b4745f6
or ecx, 1
sub eax, ecx
imul eax, eax, 0x25eca495
lea ecx, [eax - 0x3fe84f00]
and ecx, 0x4c34b3d7
add ecx, eax
add ecx, 0xc017b100
mov edx, 0xbfe84eff
sub edx, eax
or edx, 0xb3cb4c28
lea eax, [edx + ecx]
add eax, 0xb3cb4c28
not eax
imul eax, eax, 0x8ff306bd
mov ecx, eax
or ecx, 0x22d82988
sub ecx, eax
mov edx, eax
not edx
add edx, ecx
and eax, 0x22d82988
lea ebx, [eax + edx]
add ebx, 0xba4facf1
mov eax, dword [esp + 0x60]
movzx ecx, byte [esp + 0x12]
mov byte [esp + eax + 0x124], cl
mov eax, dword [esp + 0xc8]
lea ecx, [eax - 0x3b06ba9c]
mov edx, ecx
and edx, 0x3b06ba9b
mov esi, ecx
or esi, 0xc4f94564
add esi, edx
xor ecx, 0x3b06ba9b
lea edx, [ecx + esi]
add edx, 0x3b06ba9c
or eax, 0xfffffffe
mov ecx, edx
not ecx
add ecx, eax
sub edx, eax
mov esi, edx
and esi, 0x8a02c533
mov edi, edx
and edi, 0x75fd3acc
sub edi, esi
add edi, edx
mov edx, ecx
or edx, 0x8a02c533
add edx, edi
or ecx, 0x75fd3acc
sub edx, ecx
lea ecx, [edx - 0x75fd3acd]
mov esi, ecx
and esi, 1
add edx, esi
add edx, 0x8a02c533
mov esi, ecx
xor esi, 0xfffffffe
sub esi, edx
or ecx, 1
lea edx, [esi + ecx]
add ecx, esi
add ecx, 0x8a02c533
lea esi, [eax - 1]
and esi, ecx
add esi, edx
add esi, 0x8a02c533
sub esi, eax
neg eax
xor ecx, eax
neg edx
and edx, eax
add edx, esi
sub ecx, edx
lea eax, [ecx + 0x466076a7]
mov edx, 0x399f8958
sub edx, ecx
and edx, 0x69c442cb
lea edx, [edx + edx*2]
add edx, ecx
add edx, 0x466076a7
lea esi, [ecx + ecx]
add esi, 0x8cc0ed4e
or esi, 0xd3888596
sub edx, esi
or eax, 0x963bbd34
add eax, edx
lea eax, [eax + ecx*2]
add eax, 0x466076a9
mov dword [esp + 0x108], eax
mov dword [esp + 0xa8], ebx
cmp ebx, 4
mov eax, 0x39c8b11a
mov ecx, 0xadcc1077
cmove eax, ecx
movzx ecx, byte [esp + 0x18]
mov byte [esp + 0x28], cl
movzx ecx, byte [esp + 0x17]
mov byte [esp + 0x27], cl
mov ecx, 0x2c336a54
movzx edx, byte [esp + 0x16]
mov byte [esp + 0x26], dl
jmp 0x10050ae0
mov eax, dword [esp + 0x70]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x48]
movzx ecx, byte [esp + 0x13]
mov byte [eax], cl
mov eax, dword [esp + 0xbc]
movzx ecx, byte [esp + 0x14]
mov byte [eax], cl
mov eax, dword [esp + 0xc4]
movzx ecx, byte [esp + 0x15]
mov byte [eax], cl
cmp dword [esp + 0x5c], 0
mov eax, 0xe1e235e3
jmp 0x10052c12
mov ecx, dword [esp]
cmp ecx, 0xfdef4540
mov ecx, 0x51e2e052
mov edx, 0x384893bf
cmovl ecx, edx
jmp 0x10050ae0
cmp byte [esp + 0x32], 0
mov eax, 0xf9f2dc04
mov ecx, 0x2b03c9fc
cmovne eax, ecx
mov ecx, 0x2c336a54
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x946777dc
mov ecx, 0x13b5aa97
mov edx, 0x6c0c36d3
cmove ecx, edx
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x305d66b0
mov ecx, 0xb905053c
mov edx, 0xc4010a53
cmovl ecx, edx
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x486cb848
mov ecx, 0x1afe4889
mov edx, 0xa5409372
cmovl ecx, edx
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x946777dc
mov ecx, 0x595f68fa
mov edx, 0x72e1e186
cmovl ecx, edx
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x39c8b11a
mov ecx, 0x66575044
mov edx, 0x57999934
cmovl ecx, edx
jmp 0x10050ae0
mov eax, dword [esp + 0x3c]
mov byte [eax], 0xff
mov eax, dword [esp + 0x74]
mov byte [eax], 0xff
mov eax, dword [esp + 0x78]
mov byte [eax], 0xff
mov ecx, 0x2c336a54
mov al, 0xff
mov dword [esp + 0x68], eax
mov eax, 0x6eb40b9d
mov dl, 0xff
mov dword [esp + 0x34], edx
mov dl, 0xff
mov dword [esp + 0x6c], edx
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0xe4501ae5
mov ecx, 0x13b5aa97
mov edx, 0xfe5f81d7
cmove ecx, edx
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0xb23c9875
mov ecx, 0x64a7500f
mov edx, 0x8d1bd14d
cmovl ecx, edx
jmp 0x10050ae0
mov ecx, 0x189ed4b3
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x326f26f3
mov ecx, 0x13b5aa97
mov edx, 0x705ad708
cmove ecx, edx
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0xa4513d3f
mov ecx, 0x13b5aa97
mov edx, 0x8ab0c38f
cmove ecx, edx
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x1ccd84a4
mov ecx, 0x36c1c95
mov edx, 0x6c36be0f
cmovl ecx, edx
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0xdf299899
mov ecx, 0x13b5aa97
mov edx, 0x2f2b2da
cmove ecx, edx
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0xe4501ae5
mov ecx, 0x77541429
mov edx, 0xa2bedcf3
cmovl ecx, edx
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x2b03c9fc
mov ecx, 0x111f530e
mov edx, 0xfc89eb8f
cmovl ecx, edx
jmp 0x10050ae0
mov eax, 0x1017ae7c
mov ecx, dword [0x1017ae8c]
mov dword [esp + 0x54], ecx
cmp dword [0x1017ae90], 0x10
jb 0x100529c0
mov eax, dword [0x1017ae7c]
mov dword [esp + 0x58], eax
cmp dword [esp + 0x54], 0
mov eax, dword [esp + 0x58]
mov dword [esp + 0x64], eax
mov eax, 0x305d66b0
mov ecx, 0x84329f9b
jmp 0x10052c17
movsx edx, byte [esp + 0x19]
mov ecx, dword [esp + 0x38]
call fcn.10054370
jmp 0x100542b9
mov dword [esp], eax
mov ecx, 0xa5990711
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x3b494bf4
mov ecx, 0x13b5aa97
mov edx, 0x6249cee1
cmove ecx, edx
jmp 0x10050ae0
mov eax, dword [esp + 0xec]
mov eax, dword [esp + 0x118]
mov ecx, eax
xor ecx, 0x7f001069
add ecx, eax
mov edx, eax
not edx
mov esi, edx
and esi, 0x80ffef96
add esi, ecx
mov ecx, eax
and ecx, 0x7f001069
lea edi, [esi + ecx]
add ecx, esi
add ecx, 0x7f00106a
lea esi, [edi + edi]
add esi, 0xfe0020d4
or esi, 0xfe0020d0
lea esi, [esi + edi*2]
add esi, 0xfe0020d4
mov edi, ecx
xor edi, 0x80ffef97
add edi, esi
not ecx
lea esi, [edi + ecx*2]
lea ecx, [edi + ecx*2]
add ecx, 0x1ffdf32
mov edi, ecx
not edi
mov ebx, edi
and ebx, 0xa2516848
add esi, ebx
add esi, 0x1ffdf32
mov ebx, ecx
or ebx, 0xa2516848
add ebx, esi
and edi, 0x5dae97b7
lea esi, [ebx + edi*2]
lea edi, [esi + ecx]
add ecx, esi
add ecx, 0xa251684a
mov esi, ecx
and esi, 0xfffffffe
add esi, edi
add esi, 0xa251684a
or ecx, 1
sub esi, ecx
lea ecx, [esi + 2]
mov ebx, 0x7ffffffa
sub ebx, esi
sub ebx, esi
and ebx, 0x44a2d090
lea esi, [ebx + esi*2]
add esi, 4
xor ecx, 0x5dae97b7
lea edi, [ecx + esi]
add edi, 0xbb5d2f71
mov ebx, eax
or ebx, 1
lea esi, [ebx + ebx]
not esi
add esi, ebx
lea ecx, [esi + ebx*2]
mov dword [esp + 0xc], ecx
lea ecx, [esi + ebx*2]
add ecx, 1
mov dword [esp + 8], ecx
mov ebp, edx
and ebp, 0xfffffffe
and edx, 1
sub ebp, edx
xor eax, 1
add eax, ebp
not eax
lea esi, [ebx + eax]
add eax, ebx
add eax, 0xffffffff
mov edx, esi
neg edx
mov ebx, edx
and ebx, 0xa36cb757
mov ecx, eax
and ecx, 0xa36cb757
or edx, 0xa36cb757
add edx, esi
lea ebp, [ebx + ecx]
sub ebp, edx
mov edx, eax
and edx, 0x5c9348a8
sub edx, ecx
xor eax, 0x5c9348a8
add eax, edx
add eax, ebx
add eax, esi
or eax, ebp
mov ecx, eax
xor ecx, 0x5c9348a8
mov edx, eax
or edx, 0xa36cb757
add edx, ecx
mov ebx, eax
not ebx
add ebx, edx
and eax, 0xa36cb757
mov esi, 0xa36cb755
sub esi, ebx
sub esi, eax
mov ecx, dword [esp + 8]
sub ecx, edi
sub edi, dword [esp + 0xc]
lea edx, [edi + ecx*2]
lea edi, [edi + ecx*2]
add edi, 0xffffffff
and edi, esi
lea ecx, [eax + ebx]
add ecx, 0x5c9348a9
add eax, ebx
add eax, 0x5c9348aa
lea esi, [edi + edx]
add esi, 0xffffffff
neg edx
or edx, eax
not ecx
add edx, esi
mov eax, edx
not eax
add eax, ecx
sub edx, ecx
and edx, 1
add edx, edx
xor eax, 1
sub eax, edx
imul eax, eax, 0xf2f0b519
lea ecx, [eax + 0x47d744a2]
or ecx, 0xab94785a
add ecx, eax
mov edx, 0x3828bb5d
sub edx, eax
or edx, 0xab94785a
add edx, ecx
imul eax, edx, 0xc293d729
add eax, 0x470afabf
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x90]
cmp ecx, eax
mov eax, 0xc38771b2
mov ecx, 0x2b03c9fc
cmove eax, ecx
mov ecx, 0x2c336a54
jmp 0x10050ae0
mov ecx, dword [esp + 0x88]
mov edx, ecx
not edx
mov eax, ecx
and eax, 0xfffffffe
lea ebx, [eax + edx]
add ebx, 2
mov eax, ecx
and eax, 1
mov esi, edx
or esi, 0xfffffffe
add eax, esi
mov edi, ecx
or edi, 1
add eax, edi
or eax, ebx
lea ebx, [eax + 1]
mov ebp, 0xfffffffc
sub ebp, eax
and ebp, 0xfffffffe
add ebp, eax
add ebp, 1
xor ebx, 1
add ebx, ebp
or eax, 0xfffffffe
sub eax, ebx
and edx, 1
mov ebx, ecx
xor ebx, 1
add edx, ebx
lea ebp, [ecx + ecx]
xor ebp, 0xfffffffc
add ebp, edx
add ebp, esi
lea edx, [edi + ebp]
lea esi, [edi + ebp]
add esi, 3
xor ecx, 0xfffffffe
mov edi, esi
not edi
and edi, ecx
lea edi, [edi + edi*2]
or ecx, esi
sub ecx, edi
or ebx, esi
sub ecx, ebx
add edx, edx
add edx, 6
sub ecx, edx
lea edx, [ecx + ecx]
add ecx, ecx
add ecx, 0xfffffffe
mov esi, eax
or esi, 0xb70d3b23
add esi, eax
not eax
or eax, 0xb70d3b23
lea edi, [esi + eax]
add eax, esi
add eax, 1
lea esi, [edx + edi*2]
or ecx, eax
not ecx
add ecx, esi
mov esi, 1
sub esi, edx
or esi, eax
sub ecx, esi
mov eax, ecx
xor eax, 0x48f2c4dc
sub eax, ecx
mov esi, ecx
or esi, 0xb70d3b23
lea edx, [eax + esi]
add eax, esi
add eax, 0xb70d3b25
mov esi, ecx
and esi, 0xb70d3b23
sub ecx, eax
sub eax, esi
not esi
add edx, esi
add edx, 0xb70d3b25
and ecx, 1
add ecx, edx
or edx, 1
add ecx, edx
not edx
lea ecx, [ecx + edx*2]
add eax, ecx
add eax, 1
not eax
imul ecx, eax, 0x7ba027eb
imul eax, eax, 0xf7404fd6
not ecx
mov edx, ecx
or edx, 0x50009603
add edx, eax
or ecx, 0xafff69fc
add ecx, edx
imul eax, ecx, 0x8ef6c8c3
lea ecx, [eax + 0x5010f698]
mov edx, ecx
and edx, 0x177cbf7b
lea edx, [eax + edx*2]
add edx, 0x5010f698
mov esi, ecx
or esi, 0x68834084
sub edx, esi
or ecx, 0x977cbf7b
add ecx, edx
sub ecx, eax
lea eax, [ecx - 0x19b11b25]
xor eax, 0x977cbf7b
mov edx, 0x19b11b24
sub edx, ecx
add edx, edx
or edx, 0xd1068108
sub eax, edx
lea ecx, [eax - 0x2ef97ef9]
mov edx, dword [esp + 0x44]
mov dword [edx], ecx
mov edx, dword [esp + 0xd8]
mov ecx, dword [esp + 0x7c]
cmp edx, 0x10
jae 0x100542c8
mov ecx, dword [esp + 0x50]
jmp 0x100542ca
lea eax, [esp + 0x120]
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x114], eax
mov dword [esp + 0xb4], 0
mov eax, 0x1ccd84a4
movzx ecx, byte [esp + 0x2d]
mov byte [esp + 0x29], cl
mov ecx, 0x2c336a54
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0xadcc1077
mov ecx, 0x13b5aa97
mov edx, 0x3459bcb6
cmove ecx, edx
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x773a9ac3
mov ecx, 0xded05187
mov edx, 0x3f001529
cmovl ecx, edx
jmp 0x10050ae0
mov eax, dword [esp + 0x3c]
movsx eax, byte [eax]
push dword [esp + 0x54]
push eax
push dword [esp + 0x60]
call fcn.10057390
add esp, 0xc
mov ecx, dword [esp + 0x64]
mov edx, ecx
mov esi, ecx
mov dword [esp + 0x20], ecx
neg edx
mov ecx, eax
and ecx, 0x36236df5
add ecx, eax
mov ebx, eax
xor ebx, 0x36236df5
add ebx, ecx
mov ecx, eax
mov ebp, eax
or ecx, 0x36236df5
sub ebx, ecx
lea ecx, [ebx - 0x36236df6]
add esi, esi
neg esi
add esi, ebx
add esi, 0xc9dc920a
mov edi, ecx
or edi, edx
sub esi, edi
lea edi, [ebx + esi]
add edi, 0xc9dc920a
add esi, ebx
add esi, 0xc9dc920b
and edx, ecx
mov eax, edx
not eax
add eax, edi
add eax, 1
mov ecx, eax
and ecx, 0x36236df5
add ecx, ecx
mov edi, eax
sub edi, ecx
mov ecx, eax
xor ecx, 0xc9dc920a
add ecx, edi
or eax, 0x36236df5
add eax, ecx
sub edx, esi
or edx, 0xc9dc920a
sub eax, edx
mov edi, dword [esp + 0x20]
mov ecx, edi
or ecx, ebp
mov edx, ecx
not edx
lea edx, [ecx + edx*2]
add edx, ecx
add edx, ecx
lea esi, [eax + edx]
add eax, edx
add eax, 0x26155724
lea ecx, [esi + esi]
add ecx, 0x4c2aae48
or ecx, 0xdfe3d258
add ecx, esi
add ecx, 0x26155724
xor eax, 0xeff1e92c
sub eax, ecx
mov dword [esp + 0x1c], ebp
mov edx, ebp
not edx
mov ecx, edi
xor ecx, ebp
add ecx, ebp
or edi, edx
mov dword [esp + 0xc], edx
lea ebx, [ecx + edi]
add ecx, edi
add ecx, 1
lea edi, [ebx + ebx]
add edi, 2
sub edi, ecx
lea ecx, [eax + esi]
add ecx, 0x26155724
add eax, esi
add eax, 0x5f9297c
mov esi, 0x201c2da7
sub esi, ecx
lea ebx, [edi + edi]
add ebx, 2
and esi, ebx
add ecx, esi
add ecx, 0xdfe3d258
lea ecx, [ecx + edi*2 + 2]
mov dword [esp + 8], ecx
mov ebp, 0xfffffffd
sub ebp, edi
sub ebp, edi
or ebp, eax
lea eax, [ecx + ebp]
mov ecx, 0x203b150
sub ecx, eax
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x1c]
lea ecx, [eax + edx*2]
add ecx, 1
and ecx, 0x55dd87db
and eax, 0xaa227824
or eax, ecx
mov edx, dword [esp + 0x20]
mov ebx, edx
not ebx
mov ecx, ebx
or ecx, 0x55dd87db
mov edi, edx
xor edi, 0x55dd87db
lea esi, [edi + ecx]
add esi, 1
mov edi, edx
and edi, 0xaa227824
mov ecx, esi
not ecx
and ecx, edi
mov edx, esi
or edx, edi
add edx, ecx
and esi, edi
not edi
add edi, edx
lea ecx, [esi + edi]
add ecx, 1
mov edx, eax
xor edx, ecx
mov esi, eax
or esi, ecx
lea edi, [edx + esi]
not esi
lea esi, [edi + esi*2]
add esi, edx
and eax, ecx
lea ecx, [esi + eax]
add eax, esi
add eax, 2
not eax
lea edx, [eax + eax]
lea ecx, [edx + ecx*2]
add ecx, 6
or ecx, eax
neg ecx
mov edx, dword [esp + 0x34]
mov eax, edx
or eax, ecx
add eax, edx
mov edx, dword [esp + 8]
add edx, ebp
add edx, 0xfdfc4eaf
or edx, ecx
lea ecx, [eax + edx]
add eax, edx
add eax, 1
add ecx, ecx
add ecx, 2
mov edx, eax
or edx, 0x203b151
sub edx, ecx
or eax, 0xfdfc4eae
lea edi, [edx + eax]
add eax, edx
add eax, 0x203b152
mov edx, dword [esp + 0x1c]
lea ecx, [edx + edx]
add ecx, 1
sub ecx, edx
mov edx, dword [esp + 0xc]
lea esi, [ecx + edx*2]
mov ecx, esi
not ecx
mov edx, dword [esp + 0x20]
and edx, ecx
and ecx, ebx
or ebx, esi
lea ecx, [ecx + ebx*2]
lea ebx, [ecx + edx*2]
lea ecx, [esi + ebx]
mov edx, 0xfffffffd
sub edx, ecx
add esi, ebx
add esi, 2
mov ebx, edx
and ebx, 0xf3c7d9b6
add ebx, ebx
mov ebp, esi
and ebp, 0xf3c7d9b6
sub ebx, ebp
xor edx, 0xf3c7d9b6
add edx, ebx
lea ebx, [edx + esi]
add edx, esi
add edx, 1
and esi, 0xc382649
not edx
mov ebp, esi
and ebp, edx
add ebp, ebp
lea ebx, [ebx*2 + 2]
add ebx, ebp
or edx, esi
add edx, ebx
mov esi, 0xffffffd
sub esi, ecx
or esi, 0xf3c7d9b6
lea ecx, [esi + edx]
add ecx, 2
mov edx, ecx
xor edx, 0xf3c7d9b6
mov esi, eax
not esi
and esi, edx
add esi, edi
add esi, 0x203b152
add esi, edx
xor ecx, 0xc382649
add ecx, esi
and edx, eax
lea esi, [edx + ecx]
lea eax, [edx + ecx]
add eax, 0xf8b5a511
mov ecx, 0xee
sub ecx, esi
and ecx, 0xf0
lea ecx, [ecx + esi*2]
add ecx, 0xf16b4a22
or eax, 0xf0
sub eax, ecx
add al, 0x10
cmp dword [esp + 0x1c], 1
sbb ecx, ecx
or cl, al
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x3c]
mov byte [eax], cl
mov eax, dword [esp + 0x74]
movsx eax, byte [eax]
push dword [esp + 0x54]
push eax
push dword [esp + 0x60]
call fcn.10057390
add esp, 0xc
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x64]
lea ebx, [eax + eax]
mov dword [esp + 0xc], ebx
sub ebx, eax
mov eax, ecx
neg eax
mov edx, ebx
not edx
and edx, 0x2e095089
add edx, edx
xor ebx, 0xae095089
sub ebx, edx
mov edx, ebx
xor edx, eax
mov esi, ebx
or esi, eax
add esi, ebx
lea edi, [ecx + edx*2]
sub edi, esi
not edx
add edx, edi
and ebx, eax
add ebx, edx
mov esi, ecx
not esi
mov eax, esi
and eax, 0xc1180422
mov edx, ecx
xor edx, 0x3ee7fbdd
lea eax, [edx + eax*2]
mov edx, esi
or edx, 0xc1180422
sub eax, edx
mov edx, ecx
and edx, 0x3ee7fbdd
mov ebp, ecx
or ebp, 0x3ee7fbdd
mov edi, edx
sub edi, ebp
add edi, ecx
sub edi, edx
add edi, 0x3ee7fbdd
or edi, eax
mov eax, esi
or eax, 0x91abd7e2
mov ebp, ecx
and ebp, 0x6e54281d
add ebp, eax
mov edx, dword [esp + 0x20]
not edx
mov dword [esp + 0x1c], edx
mov dword [esp + 8], edx
mov eax, ecx
mov ecx, dword [esp + 0x1c]
and ecx, eax
add ecx, esi
mov dword [esp + 0x1c], ecx
sub esi, ebp
mov ebp, eax
or ebp, 0x91abd7e2
add ebp, esi
mov esi, eax
or esi, 0x6e54281d
mov ecx, eax
sub ecx, esi
neg esi
add esi, eax
add esi, 0x6e54281d
add ecx, ebp
and esi, ebp
not esi
add ecx, esi
add ecx, 0x6e54281e
mov esi, ecx
and esi, 0x91abd7e2
mov ebp, ecx
xor ebp, 0x6e54281d
add ebp, esi
mov esi, ecx
xor esi, 0x91abd7e2
add esi, ebp
or ecx, 0x91abd7e2
sub ecx, esi
mov ebp, dword [esp + 0x20]
xor edi, ebp
xor edi, 0x3ee7fbdd
lea esi, [ebx + edi]
add edi, ebx
add edi, 0x51f6af79
or edi, ecx
lea ebx, [esi + ecx*2]
add ebx, 0x51f6af79
sub edi, ebx
mov ebx, 0xae095086
sub ebx, esi
or ebx, ecx
mov ecx, dword [esp + 8]
and ecx, 0xe79424c3
mov esi, dword [esp + 0xc]
xor esi, 0x30d7b678
add esi, ecx
mov ecx, ebp
xor ecx, 0xe79424c3
add ecx, esi
or edx, 0xe79424c3
mov esi, ebp
or esi, 0x186bdb3c
add esi, edx
sub ecx, esi
mov edx, ebp
and edx, 0x186bdb3c
or edx, ecx
lea ecx, [edi + ebx]
lea esi, [edi + ebx]
add esi, 0xcbf1bba3
mov edi, edx
xor edx, 0xe79424c3
mov ebx, esi
and ebx, edx
add ecx, ebx
add ecx, 0xcbf1bba3
xor edi, 0x186bdb3c
add ecx, edi
xor edi, esi
not edi
add edi, ecx
or edx, esi
sub edi, edx
mov edx, dword [esp + 0x1c]
add edx, edx
not edx
and eax, ebp
sub edx, eax
lea ecx, [edi + edx*2]
lea eax, [edi + edx*2]
add eax, 0x13e37a2b
mov edx, 0xcc1c85d4
sub edx, ecx
and edx, 0x11ecc6b9
add ecx, edx
add ecx, 0x13e37a2b
and eax, 0x11ecc6b9
lea edx, [ecx + eax]
add eax, ecx
add eax, 0xdc26728e
mov ecx, eax
and ecx, 0xdfd535cc
add ecx, edx
add ecx, 0xdc26728e
mov edx, eax
xor edx, 0xdfd535cc
add edx, ecx
or eax, 0xdfd535cc
sub edx, eax
lea eax, [edx + 0x202aca33]
mov ecx, eax
and ecx, 0x39
add ecx, ecx
add edx, edx
add edx, 0x40559466
sub edx, ecx
xor eax, 0x46
add eax, edx
add al, 0x73
cmp ebp, 1
sbb ecx, ecx
or cl, al
mov eax, dword [esp + 0x74]
mov byte [eax], cl
mov edi, ecx
mov eax, dword [esp + 0x78]
movsx eax, byte [eax]
push dword [esp + 0x54]
push eax
push dword [esp + 0x60]
call fcn.10057390
add esp, 0xc
mov ecx, dword [esp + 0x64]
mov edx, eax
not edx
and edx, ecx
lea edx, [edx + edx*2]
add edx, eax
sub edx, ecx
mov esi, ecx
or esi, eax
add esi, esi
sub edx, esi
not ecx
or ecx, eax
add ecx, edx
lea ecx, [ecx + eax*2]
imul ecx, ecx, 0x3bd4c4b
lea edx, [ecx + 0x3bd4c4b]
or edx, 0x67468f4b
add edx, ecx
mov esi, 0xfc42b3b4
sub esi, ecx
or esi, 0x67468f4b
lea ecx, [esi + edx]
add ecx, 0x35302db5
imul edx, ecx, 0xb1eae29d
imul esi, ecx, 0x9c2a3ac6
add esi, esi
add esi, edx
imul ecx, ecx, 0x63d5c53a
add ecx, esi
add cl, 0x64
cmp eax, 1
sbb ebx, ebx
or bl, cl
mov eax, dword [esp + 0x78]
mov byte [eax], bl
mov eax, dword [esp + 0xc0]
movsx eax, byte [eax]
push dword [esp + 0x54]
push eax
push dword [esp + 0x60]
call fcn.10057390
add esp, 0xc
mov ecx, eax
and ecx, 0x26b313f2
lea ecx, [eax + ecx*2]
mov edx, eax
or edx, 0xd94cec0d
sub ecx, edx
mov edx, eax
or edx, 0x26b313f2
add edx, ecx
mov ecx, eax
not ecx
add ecx, edx
sub ecx, dword [esp + 0x64]
add ecx, 0x8be6c429
mov edx, ecx
xor edx, 0x26b313f2
not ecx
add ecx, ecx
or ecx, 0xb299d81a
sub edx, ecx
imul edx, edx, 0x374842bf
lea ecx, [edx + 0x2a65f5e2]
mov esi, 0xd59a0a1d
sub esi, edx
and esi, 0xa19cc94e
add edx, esi
add edx, 0x2a65f5e2
and ecx, 0xa19cc94e
add ecx, edx
mov edx, ecx
and edx, 0x9e51c75f
xor ecx, 0x9e51c75f
add ecx, edx
add ecx, edx
imul ecx, ecx, 0x79842d3f
add ecx, 0xf46080d5
mov edx, ecx
xor edx, 0xcfbfce
and ecx, 0xcfbfce
test eax, eax
lea eax, [edx + ecx*2 + 0xb9f7f2b]
mov dword [esp + 0x98], eax
mov eax, 0xff6f4f0a
mov ecx, 0x6eb40b9d
cmove eax, ecx
mov ecx, 0x2c336a54
mov dword [esp + 0x68], ebx
mov edx, ebx
mov byte [esp + 0x1c], bl
mov edx, dword [esp + 0x34]
mov byte [esp + 0x25], dl
mov edx, edi
mov dword [esp + 0x6c], edi
mov byte [esp + 0x20], dl
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0xdf299899
mov ecx, 0xf383b40
mov edx, 0xbfb2eed0
cmovl ecx, edx
jmp 0x10050ae0
mov esi, dword [esp + 0x3c]
movzx eax, byte [esp + 0x125]
mov byte [esp + 0xc], al
shr al, 4
mov ah, al
xor ah, 0xc
mov edx, eax
not dl
mov ecx, edx
and cl, 3
add cl, ah
mov ah, dl
or ah, 0xc
sub cl, ah
add cl, 0xc
and cl, al
add cl, cl
mov ah, cl
add ah, cl
mov ebx, ecx
not bl
or bl, 0x28
add bl, ah
or cl, 0xd7
sub bl, cl
mov ecx, ebx
and cl, 0xd6
add cl, bl
or bl, 1
neg bl
or bl, 0x28
add bl, cl
mov bh, al
and bh, 3
mov cl, bh
add cl, al
mov byte [esp + 6], cl
mov ecx, eax
or cl, 3
mov ch, al
and ch, 0xc
mov ah, al
xor ah, 3
mov byte [esp + 8], ah
movzx edi, ah
add ch, ah
mov dh, al
xor dh, 0xfc
add ch, dh
mov byte [esp + 7], dh
or al, 0xfc
sub ch, al
lea eax, [edi + edi*2]
sub al, cl
add al, dh
add al, bh
mov edi, eax
mov dh, bh
movzx eax, byte [esp + 6]
sub al, cl
mov ah, cl
add al, 4
not dh
add dh, al
add al, ch
sub bh, al
and ch, dh
add bl, 0xd9
add ch, bh
add ch, 1
mov cl, bl
and cl, 0xa6
add cl, bl
or bl, 0x59
sub cl, bl
add cl, 0xb2
mov bl, ch
add bl, ch
add bl, cl
mov dh, cl
or dh, ch
not dh
add dh, bl
not cl
or cl, ch
sub dh, cl
mov cl, dh
not cl
mov ch, cl
and ch, 0x59
add ch, dh
xor dh, 0xa6
add dh, ch
mov ch, byte [esi]
or cl, 0x59
sub dh, cl
mov cl, ah
mov bh, byte [esp + 7]
add cl, bh
add cl, 1
mov eax, edi
add al, 1
mov bl, al
not bl
and bl, cl
mov cl, ch
shl cl, 2
add dh, 0xa7
add bl, al
mov ah, bl
not ah
add ah, ah
add ah, bl
not ah
mov al, dh
and al, 0xc5
mov bl, dh
add bl, dh
sub bl, al
mov al, dh
xor al, 0x3a
add al, bl
or dh, 0x3a
sub al, dh
add al, ah
or dl, 0xfc
add dl, byte [esp + 8]
add dl, bh
mov ah, 0xfe
sub ah, dl
add dl, 1
mov dh, dl
and dh, 0xb6
mov bl, ah
and bl, 0x49
and dl, 0x49
add dl, bl
or ah, 0xb6
add ah, dl
add ah, 1
or ah, dh
xor ah, 0x49
add ah, al
add ah, 0xcc
mov dl, ah
and dl, 0x34
mov al, dl
xor al, 0x34
add al, ah
add al, dl
movzx esi, al
add esi, esi
mov edx, eax
not dl
mov dh, cl
not cl
mov ebx, edx
and bl, cl
mov ah, dh
and ah, dl
mov byte [esp + 6], ah
add ah, ah
add ah, bl
lea ebx, [esi + esi*2]
shl ch, 3
or cl, dl
sub ah, cl
sub ah, ch
mov cl, dh
or cl, dl
mov byte [esp + 8], cl
add ah, cl
add ah, al
shl al, 2
sub bl, al
add bl, 2
mov al, bl
add al, bl
sub bl, al
add bl, 2
mov al, bl
not al
and al, ch
add al, bl
add al, al
xor bl, ch
sub bl, al
mov al, ah
not al
add al, al
add al, ah
add al, 1
mov cl, 0x82
sub cl, bl
add bl, 0x7d
and cl, al
add cl, bl
and bl, al
add bl, cl
mov eax, ebx
and al, 0x83
xor bl, 0x83
add bl, al
add bl, al
mov al, dh
and al, 0xd4
xor al, 0xd7
mov ah, dh
xor ah, 0x29
add ah, al
movzx esi, bl
add ah, dh
or ch, 0x50
sub ah, ch
add ah, 0x27
mov al, ah
not al
and al, dh
and al, 0x28
add al, ah
add bl, bl
mov ah, bl
or ah, 0x96
lea ecx, [esi + esi*2]
sub cl, ah
xor bl, 0xfe
or bl, 0x68
add bl, cl
mov ecx, eax
and cl, 0xd7
mov ah, al
add ah, al
xor ah, 0x50
sub ah, cl
mov ecx, eax
not cl
and cl, 0xd7
add cl, ah
add cl, al
add cl, 1
mov eax, ecx
not al
add al, al
add al, cl
add al, 1
and al, dl
add al, al
add al, 2
add bl, 0xe4
mov ecx, ebx
not cl
and cl, al
add cl, cl
xor bl, al
add al, al
sub al, cl
add al, bl
mov ecx, eax
add cl, al
xor cl, 0x69
mov ah, al
or ah, 0xb4
add ah, al
sub cl, ah
mov ah, al
xor ah, 0x4b
add ah, cl
and al, 0xb4
add al, ah
add al, 0x4c
xor dl, dh
add dl, dl
mov ah, byte [esp + 6]
add dl, ah
sub dl, byte [esp + 8]
mov cl, ah
not cl
sub cl, dl
and dl, ah
add dl, cl
add dl, 1
mov ecx, edx
add cl, dl
shl dl, 2
add dl, al
mov ah, al
or ah, cl
not ah
add ah, dl
not al
or al, cl
sub al, ah
movzx eax, al
mov ecx, eax
shl ecx, 4
add ecx, eax
neg ecx
mov eax, ecx
or al, 0x1f
not cl
or cl, 0xe0
sub al, cl
add al, 0xc0
mov ecx, eax
and cl, 0xa9
add cl, al
not al
or al, 0x56
add al, cl
add al, 0x57
mov ecx, eax
not cl
or cl, al
and cl, 0x1f
add cl, al
movzx eax, cl
lea eax, [eax + eax*4]
lea ecx, [eax + eax*2]
add cl, 0xf
mov edx, ecx
and dl, 0xc6
add dl, cl
mov eax, ecx
xor al, 0xc6
add al, dl
or cl, 0xc6
sub al, cl
add al, 0xc7
mov edx, eax
or dl, 0xf6
mov ecx, eax
sub cl, dl
add cl, al
add cl, 0xed
and al, 0xf6
mov edx, eax
not dl
add dl, cl
mov ah, dl
and ah, 0x46
add ah, ah
mov ch, dl
sub ch, ah
mov ah, dl
xor ah, 0x39
add ah, ch
or dl, 0xc6
add dl, ah
sub al, cl
or al, 0x39
sub dl, al
add dl, 0x39
mov byte [esp + 0x2d], dl
mov eax, dword [esp + 0x48]
movzx ecx, byte [esp + 0x2d]
mov byte [eax], cl
shl byte [esp + 0xc], 4
movzx ecx, byte [esp + 0x126]
shr cl, 2
mov edx, ecx
not dl
movzx eax, dl
lea eax, [eax + eax*2]
add al, cl
add al, cl
add al, 2
not al
and al, 0xf
sub al, cl
mov ch, al
not ch
mov dh, dl
and dh, 0xf0
mov ebx, edx
and bl, 0xf
sub bl, dh
mov bh, cl
xor bh, 0xf
add bh, bl
mov dh, cl
or dh, 0xf0
add dh, bh
mov ebx, ecx
or bl, 0xf
sub dh, bl
mov bl, dh
and bl, dl
add bl, bl
mov bh, dh
xor bh, dl
add bh, bl
or dh, dl
sub dh, bh
add dh, dh
and ch, 0x5d
add ch, al
or al, 0xa2
add al, ch
add al, dh
mov dl, 0xfe
sub dl, al
add al, 0x81
and dl, 0x71
add dl, al
and al, 0x71
add al, dl
mov ch, cl
and ch, 0xf
and cl, 0x30
mov edx, ecx
xor dl, 0xf0
add dl, cl
add dl, cl
or dl, ch
add dl, 0x10
xor dl, 0xf
add dl, al
mov eax, edx
xor al, 0x1d
add al, dl
mov ecx, edx
add cl, dl
xor cl, 0xc4
add cl, al
mov eax, edx
or al, 0x1d
add al, cl
not dl
or dl, 0xe2
add dl, al
mov ebx, edx
add bl, 0x6f
mov eax, ebx
xor al, 0x9f
add al, dl
mov edx, ebx
not dl
and dl, 0x60
add dl, al
and bl, 0x9f
add bl, dl
add bl, 0xf
mov eax, ebx
add al, bl
mov edx, eax
or dl, 0x9a
add dl, al
mov eax, ebx
xor al, 0xb2
add al, dl
not bl
add bl, bl
add bl, al
add bl, 0x68
mov eax, ebx
and al, 0x60
add al, bl
not bl
or bl, 0x9f
add bl, al
add bl, 0x62
mov ch, bl
add ch, bl
mov eax, ebx
not al
add ch, al
mov cl, al
mov byte [esp + 8], al
sub ch, bl
add ch, 1
mov eax, ebx
sub al, ch
add ch, cl
mov ah, ch
and ah, 0xda
mov dh, ch
add dh, ch
and dh, 0x4a
add dh, ah
mov ah, ch
or ah, 0xda
sub dh, ah
or ch, 0x25
add ch, dh
add ch, al
add ch, 0xb6
mov eax, ebx
and al, 0x25
mov ah, al
sub ah, ch
mov dh, ch
or dh, al
add dh, ah
mov ah, ch
xor ah, al
not ah
add ah, dh
not ch
or ch, al
add ch, ch
not ch
add ch, ah
movzx edx, byte [esp + 0xc]
mov dh, dl
mov ah, dl
and ah, 0xd0
xor ah, 0xda
and dh, 0x20
mov al, dh
xor al, 0x25
add al, dh
add al, dh
add al, 0xdb
mov cl, al
not cl
mov bh, ah
xor bh, al
mov dh, ah
or dh, al
and al, ah
and ah, cl
sub bh, ah
mov ah, dl
add dh, bh
add dh, cl
mov bh, byte [esp + 8]
add bh, bh
add bh, bl
add bh, 1
not ah
mov cl, bh
and cl, ah
mov byte [esp + 7], ah
sub cl, dl
add al, dh
add al, 1
mov dh, ch
and dh, al
add dh, dh
add al, ch
sub dh, al
mov al, dh
add al, dh
shl dh, 2
mov ch, al
xor ch, 0xf
add ch, dh
not al
add al, al
add al, ch
mov ch, bh
or ch, dl
and dh, 0x1c
add dh, al
add ch, cl
not bh
add ch, bh
or bh, ah
sub ch, bh
mov cl, ch
not cl
add cl, cl
add cl, ch
add cl, 1
mov ch, cl
add ch, cl
mov bh, 0xd
sub bh, dh
shl cl, 2
sub ch, cl
movzx esi, bh
lea eax, [esi + esi*2]
neg eax
add al, ch
add dh, 0x72
or dh, ch
not ch
or ch, bh
mov byte [esp + 0xc], dl
mov byte [esp + 6], dl
add ch, ch
add ch, al
mov cl, dl
add dh, dh
sub ch, dh
mov dh, bl
and dh, 0xbe
mov bh, bl
or bh, 0xbe
add bh, dh
movzx eax, byte [esp + 8]
mov edx, eax
or dl, 0xbe
add dl, bh
mov dh, bl
and dh, 0x41
xor dh, 0x7d
add dh, 0xc4
add dl, 0x43
or dl, dh
mov bh, al
and cl, al
movzx eax, byte [esp + 7]
mov dh, al
xor dh, bh
or bl, al
or al, bh
mov ah, al
mov al, byte [esp + 0xc]
or bh, al
mov byte [esp + 8], bh
mov bh, al
mov al, byte [esp + 6]
or al, 0xbf
and bh, 0xb0
sub bh, al
mov al, dl
xor al, bh
add al, bh
add al, dl
add bh, dl
sub al, bh
add al, 1
mov dl, ch
or dl, 0x91
not ch
or ch, 0x6e
sub dl, ch
mov ch, al
not ch
and ch, dl
add ch, dl
add ch, al
not dl
or dl, al
add dl, ch
add dl, 1
mov al, dl
not al
or al, dl
and al, 0x91
add al, dl
add cl, cl
sub dh, cl
add ah, dh
movzx edx, byte [esp + 8]
add dl, ah
mov ah, dl
not ah
add ah, bl
sub dl, bl
mov ecx, edx
or cl, 0x22
xor dl, 0xdd
add dl, cl
mov dh, dl
mov dl, ah
and dl, 0xdd
mov cl, ah
add cl, ah
xor cl, 0xba
add cl, dl
mov ch, ah
or ch, 0xdd
sub cl, ch
xor ah, 0x22
add ah, cl
mov ecx, eax
add cl, 0xdc
add al, 0xdd
add dh, 1
add ah, dl
add ah, 1
mov ch, ah
not ch
and ch, dh
add ch, ah
xor ch, 0xdd
mov edx, eax
add dl, al
or dl, 0x5a
add dl, cl
xor al, 0x52
add al, dl
sub al, cl
add al, ch
add al, 0xa7
mov ecx, eax
and cl, 0x52
add cl, al
mov edx, eax
xor dl, 0x52
add dl, cl
or al, 0x52
sub dl, al
add dl, 0xad
movzx ecx, dl
imul eax, ecx, 0x39
mov edx, eax
and dl, 0x9a
imul ecx, ecx, 0x72
sub cl, dl
mov edx, eax
xor dl, 0x65
add dl, cl
or al, 0x65
sub dl, al
movzx eax, dl
lea eax, [eax + eax*8]
mov byte [esp + 0x122], al
mov ecx, dword [esp + 0x5c]
lea eax, [ecx - 0x29836dd5]
mov edx, eax
and edx, 0xd67c922a
add edx, ecx
mov ecx, eax
xor ecx, 0xd67c922a
add ecx, edx
or eax, 0xd67c922a
sub eax, ecx
mov ecx, eax
or ecx, 1
add ecx, eax
not eax
or eax, 1
add eax, ecx
not eax
imul ecx, eax, 0x4c48f92d
imul eax, eax, 0x9891f25a
mov edx, eax
or edx, 0x9d857aa0
add edx, eax
mov eax, ecx
xor eax, 0x313d42af
add eax, edx
not ecx
lea edx, [eax + ecx*2]
lea eax, [eax + ecx*2]
add eax, 4
mov ecx, eax
or ecx, 0x27011017
add ecx, edx
add ecx, 4
not eax
or eax, 0x27011017
lea edx, [ecx + eax]
add eax, ecx
add eax, 1
mov ecx, eax
not ecx
and ecx, 0x313d42af
add ecx, edx
add ecx, 1
mov edx, eax
or edx, 0x313d42af
add ecx, edx
not edx
lea ecx, [ecx + edx*2]
add ecx, eax
imul eax, ecx, 0x2ed7415b
mov ecx, 0x20a35a14
sub ecx, eax
or ecx, 0x383870d3
lea ecx, [ecx + eax*2]
add ecx, 0xbeb94bd6
add eax, 0xdf5ca5eb
not eax
or eax, 0xc7c78f2c
add eax, ecx
mov ecx, 0xc7c78f2b
sub ecx, eax
mov dword [esp + 0x110], ecx
mov eax, dword [esp + 0x5c]
cmp eax, 2
mov eax, 0x2b03c9fc
mov ecx, 0xbfd8e163
cmovge eax, ecx
mov ecx, 0x2c336a54
jmp 0x10050ae0
cmp dword [esp + 0x5c], 0
mov eax, 0x3b494bf4
mov ecx, 0xfdef4540
cmovg eax, ecx
mov ecx, 0x2c336a54
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0xcfc0d03b
mov ecx, 0x13b5aa97
mov edx, 0x2d575952
cmove ecx, edx
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x3b494bf4
mov ecx, 0x6a744aa5
mov edx, 0x41f3991b
cmovl ecx, edx
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x39c8b11a
mov ecx, 0x13b5aa97
mov edx, 0x7cdaae4f
cmove ecx, edx
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x98c7c71b
mov ecx, 0x13b5aa97
mov edx, 0xfbad5066
cmove ecx, edx
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0xadcc1077
mov ecx, 0x1e841507
mov edx, 0x54c863b9
cmovl ecx, edx
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x636b1de2
mov ecx, 0x13b5aa97
mov edx, 0x37f5e0be
cmove ecx, edx
jmp 0x10050ae0
mov ecx, dword [esp + 0x8c]
mov edx, ecx
and edx, 0x38ca3f65
mov eax, edx
xor eax, 0x38ca3f65
add eax, ecx
add eax, edx
mov ecx, eax
or ecx, 1
lea edx, [eax + ecx]
not ecx
lea ecx, [edx + ecx*2]
mov edx, eax
xor edx, 1
add edx, ecx
and eax, 1
lea ecx, [edx + eax]
add eax, edx
add eax, 3
mov edx, eax
xor edx, 0x38ca3f65
add ecx, edx
add ecx, 3
mov edx, eax
not edx
add edx, ecx
and eax, 0x38ca3f65
lea eax, [edx + eax*2]
imul ecx, eax, 0x75be3f95
lea eax, [ecx - 0x1d5d8206]
mov edx, eax
xor edx, 0xf4045b7f
add edx, ecx
lea esi, [ecx + ecx]
add esi, 0xc544fbf4
xor esi, 0x17f74900
add esi, edx
or eax, 0xf4045b7f
add eax, esi
mov edx, 0x1d5d8205
sub edx, ecx
or edx, 0xbfba480
add edx, eax
imul eax, edx, 0xabc713bd
lea ecx, [eax + 0x335fcd35]
or ecx, 0x1a820d80
add ecx, eax
mov edx, 0xcca032ca
sub edx, eax
or edx, 0x1a820d80
lea eax, [ecx + edx]
add ecx, edx
add ecx, 0x335fcd36
mov edx, ecx
not edx
and edx, 0xbc211e46
lea eax, [edx + eax*2]
add eax, 0x66bf9a6c
or ecx, 0xbc211e46
sub eax, ecx
lea ecx, [eax + 0x43dee1b9]
mov edx, dword [esp + 0xf0]
mov dword [edx], ecx
mov edx, dword [esp + 0xf4]
mov ecx, dword [esp + 0x114]
cmp edx, 0x10
jae 0x100542f0
mov ecx, dword [esp + 0x50]
jmp 0x100542f2
mov ecx, dword [esp]
cmp ecx, 0x8ef8fd85
mov ecx, 0xb39c5703
mov edx, 0x799bdafc
cmovl ecx, edx
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x98c7c71b
mov ecx, 0x47d8d822
mov edx, 0x2873ce81
cmovl ecx, edx
jmp 0x10050ae0
mov eax, dword [esp + 0x84]
lea ecx, [eax + eax]
not ecx
and ecx, 0xb0f41ee6
add ecx, eax
mov edx, eax
or edx, 0xd87a0f73
sub ecx, edx
lea ecx, [ecx + eax*2]
not eax
or eax, 0xd87a0f73
add eax, ecx
imul eax, eax, 0x848b6973
lea ecx, [eax + 0xa7ab73d]
mov edx, ecx
and edx, 0x554588fb
add edx, edx
add eax, eax
add eax, 0x14f56e7a
sub eax, edx
xor ecx, 0xaaba7704
add eax, ecx
add eax, 0x6033c489
mov ecx, eax
xor ecx, 0x554588fb
and eax, 0xd54588fb
lea ecx, [ecx + eax*2]
imul edx, ecx, 0xcb73e3bb
mov eax, edx
not eax
imul ecx, ecx, 0x96e7c776
and eax, 0x4e2d2758
add eax, ecx
or edx, 0x4e2d2758
sub eax, edx
lea ecx, [eax - 0x4e2d2758]
mov edx, dword [esp + 0x44]
mov dword [edx], ecx
mov edx, dword [esp + 0xd4]
mov ecx, dword [esp + 0x7c]
cmp edx, 0x10
jae 0x10054318
mov ecx, dword [esp + 0x50]
jmp 0x1005431a
mov ecx, 0x2c336a54
jmp 0x10050ae0
mov eax, dword [esp + 0x90]
movzx eax, byte [esp + eax + 0x121]
mov byte [esp + 0x29], al
mov eax, 0x1ccd84a4
mov ecx, dword [esp + 0x90]
mov dword [esp + 0xb4], ecx
mov ecx, 0x2c336a54
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0xae658ee8
mov ecx, 0x13b5aa97
mov edx, 0x4db98c79
cmove ecx, edx
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0xbce4e206
mov ecx, 0x7431a68a
mov edx, 0xf35c434
cmovl ecx, edx
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0xa4513d3f
mov ecx, 0xb9fbf5e2
mov edx, 0x93991fb
cmovl ecx, edx
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0xc38771b2
mov ecx, 0x13b5aa97
mov edx, 0x198aaf5a
cmove ecx, edx
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x45742064
mov ecx, 0xb46821cc
mov edx, 0x667e38cc
cmovl ecx, edx
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0xae658ee8
mov ecx, 0x52930619
mov edx, 0xfa032918
cmovl ecx, edx
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0xf9f2dc04
mov ecx, 0x3f5267e8
mov edx, 0x1621a9
cmovl ecx, edx
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x6eb40b9d
mov ecx, 0x13b5aa97
mov edx, 0x10779902
cmove ecx, edx
jmp 0x10050ae0
movsx edx, byte [esp + 0x1b]
mov ecx, dword [esp + 0x38]
call fcn.10054370
jmp 0x100542e1
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x104], eax
lea eax, [esp + 0x125]
mov dword [esp + 0x74], eax
lea eax, [esp + 0x126]
mov dword [esp + 0x78], eax
lea eax, [esp + 0x122]
mov dword [esp + 0xbc], eax
lea eax, [esp + 0x127]
mov dword [esp + 0xc0], eax
lea eax, [esp + 0x123]
mov dword [esp + 0xc4], eax
lea eax, [esp + 0x11c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x48]
movzx eax, byte [eax]
mov byte [esp + 0x2a], al
mov eax, dword [esp + 0xbc]
movzx eax, byte [eax]
mov byte [esp + 0x2b], al
mov eax, dword [esp + 0xc4]
movzx eax, byte [eax]
mov byte [esp + 0x2c], al
mov ecx, 0x2c336a54
mov dword [esp + 0xac], 0
mov eax, 0x8ef8fd85
mov edx, dword [esp + 0xb8]
mov dword [esp + 0xb0], edx
mov dword [esp + 0xa4], 0
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x2c6cd6c8
mov ecx, 0x9dfd38a3
mov edx, 0x2fd5f077
cmovl ecx, edx
jmp 0x10050ae0
mov ecx, 0xb21f6609
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x4148e4d9
mov ecx, 0xd21df4ee
mov edx, 0xddc5cb71
cmovl ecx, edx
jmp 0x10050ae0
mov dword [esp + 0x9c], 0xffffffff
mov eax, 0xa4513d3f
mov ecx, 0x2c336a54
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x7b3780f5
mov ecx, 0x13b5aa97
mov edx, 0xd1d02d0
cmove ecx, edx
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0xff6f4f0a
mov ecx, 0x68a34864
mov edx, 0xdb437943
cmovl ecx, edx
jmp 0x10050ae0
mov ecx, dword [esp]
cmp ecx, 0x8ef8fd85
mov ecx, 0x13b5aa97
mov edx, 0x2b18965a
cmove ecx, edx
jmp 0x10050ae0
cmp dword [esp + 0xcc], 0
mov eax, 0x8ef8fd85
mov ecx, 0xb23c9875
cmove eax, ecx
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0xb0], ecx
mov ecx, 0x2c336a54
mov edx, dword [esp + 0x108]
mov dword [esp + 0xac], edx
movzx edx, byte [esp + 0x28]
mov byte [esp + 0x2c], dl
mov dh, byte [esp + 0x27]
mov byte [esp + 0x2b], dh
movzx ebx, byte [esp + 0x26]
mov byte [esp + 0x2a], bl
mov byte [esp + 0x15], dl
mov byte [esp + 0x14], dh
mov byte [esp + 0x13], bl
mov edx, dword [esp + 0xa8]
mov dword [esp + 0xa4], edx
mov dword [esp + 0x70], edx
jmp 0x10050ae0
mov ecx, 0x2c336a54
mov dword [esp + 0x98], 0xffffffff
mov eax, 0xff6f4f0a
mov edx, dword [esp + 0x68]
mov byte [esp + 0x1c], dl
mov edx, dword [esp + 0x34]
mov byte [esp + 0x25], dl
mov edx, dword [esp + 0x6c]
mov byte [esp + 0x20], dl
jmp 0x10050ae0
mov eax, dword [eax]
mov ecx, dword [esp + 0xc8]
movzx eax, byte [eax + ecx]
mov byte [esp + 0x12], al
movzx eax, byte [esp + 0x12]
cmp al, 0x3d
mov eax, 0xcfc0d03b
mov ecx, 0xb23c9875
cmove eax, ecx
movzx ecx, byte [esp + 0x18]
mov byte [esp + 0x15], cl
movzx ecx, byte [esp + 0x17]
mov byte [esp + 0x14], cl
movzx ecx, byte [esp + 0x16]
mov byte [esp + 0x13], cl
mov ecx, 0x2c336a54
mov edx, dword [esp + 0x60]
mov dword [esp + 0x70], edx
jmp 0x10050ae0
mov edx, dword [edx]
lea eax, [ecx + eax*2]
mov ecx, dword [esp + 0x80]
movzx ebx, byte [esp + 0x19]
mov byte [edx + ecx], bl
mov byte [edx + eax + 0x29348992], 0
mov ecx, 0x2c336a54
mov eax, 0x98c7c71b
jmp 0x10050ae0
mov ecx, dword [ecx]
mov edx, dword [esp + 0x88]
movzx ebx, byte [esp + 0x1b]
mov byte [ecx + edx], bl
mov byte [ecx + eax - 0x2ef97ef9], 0
mov ecx, 0x2c336a54
mov eax, 0x946777dc
jmp 0x10050ae0
mov ecx, dword [ecx]
mov edx, dword [esp + 0x8c]
movzx ebx, byte [esp + 0x2e]
mov byte [ecx + edx], bl
mov byte [ecx + eax + 0x43dee1b9], 0
mov ecx, 0x2c336a54
mov eax, 0x4148e4d9
jmp 0x10050ae0
mov ecx, dword [ecx]
mov edx, dword [esp + 0x84]
movzx ebx, byte [esp + 0x1a]
mov byte [ecx + edx], bl
mov byte [ecx + eax - 0x4e2d2758], 0
mov ecx, 0x2c336a54
mov eax, 0x2c6cd6c8
jmp 0x10050ae0
cmp ecx, 0x132e7fad
jne 0x10050ae0
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x128]
xor ecx, esp
call fcn.100568da
add esp, 0x12c
pop esi
pop edi
pop ebx
pop ebp
ret