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

Disassembly:
sub esp, 0x4c
mov eax, dword [0x100a43f8]
push ebx
push ebp
push esi
xor esi, esi
push edi
cmp eax, esi
mov dword [esp + 0x10], esi
jne 0x100522f8
call fcn.100520d0
mov edi, 1
mov dword [0x100a43f8], edi
jmp 0x100522fd
mov edi, 1
mov eax, dword [esp + 0x98]
mov ebp, 3
add eax, 0xffffffef
cmp eax, ebp
ja case.default.0x10052314
jmp dword [eax*4 + 0x10054924]
mov dword [esp + 0x14], edi
mov edi, ebp
mov dword [esp + 0x18], 2
mov dword [esp + 0x98], edi
xor ebp, ebp
jmp 0x1005236f
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], 2
mov dword [esp + 0x98], edi
xor ebp, ebp
jmp 0x1005236f
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], esi
mov edi, 2
jmp 0x10052368
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], 2
xor edi, edi
mov dword [esp + 0x98], edi
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x64]
lea eax, [esp + ebp + 0x10]
mov edx, ebx
mov dword [esp + 0x20], eax
mov dword [esp + 0x3c], ebp
mov byte [eax], 0xff
lea eax, [ecx*4]
sub eax, ebx
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x78]
shr edx, 2
sub eax, edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x50], eax
mov eax, edx
sub eax, ebx
mov dword [esp + 0x38], ecx
shl eax, 2
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x58], eax
lea eax, [edx + edx*2]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x88]
cmp eax, esi
mov dword [esp + 0x70], edx
jne 0x10053368
cmp ecx, esi
jne 0x10053368
mov eax, dword [esp + 0x60]
mov dword [esp + 0x44], esi
cmp eax, esi
jbe case.default.0x10052314
mov eax, dword [esp + 0x64]
mov dword [esp + 0x40], 0
test eax, eax
jbe 0x10053315
mov eax, dword [esp + 0x30]
xor edx, edx
xor ecx, ecx
mov ebx, dword [0x10093064]
mov dl, byte [eax]
mov eax, dword [esp + 0x34]
mov cl, byte [eax]
mov edi, dword [edx*4 + 0x100a64e0]
mov esi, ecx
mov ecx, dword [edx*4 + 0x100a60e0]
xor edx, edx
mov eax, dword [esi*4 + 0x100a6ce0]
mov esi, dword [esi*4 + 0x100a68e0]
add eax, edi
mov edi, dword [esp + 0x1c]
mov dl, byte [edi]
mov edi, edx
lea edx, [ecx + edi]
add edx, ebx
mov ebx, dword [0x100930a4]
mov edx, dword [edx*4 + 0x100a70e0]
mov dword [esp + 0x90], edx
lea edx, [eax + edi]
add edx, ebx
mov ebx, dword [0x10093064]
add edx, ebx
mov ebx, dword [edx*4 + 0x100a7a60]
lea edx, [esi + edi]
add edx, dword [0x100930a4]
mov edx, dword [edx*4 + 0x100a82a0]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0x90]
test edx, 0xffffff00
je 0x100524d2
test edx, edx
jge 0x100524c6
mov edx, dword [esp + 0x14]
mov byte [esp + edx + 0x10], 0
jmp 0x100524da
mov edi, dword [esp + 0x14]
mov dl, 0xff
mov byte [esp + edi + 0x10], dl
jmp 0x100524dc
mov edi, dword [esp + 0x14]
mov byte [esp + edi + 0x10], dl
mov dl, 0xff
test ebx, 0xffffff00
je 0x100524f9
mov edi, dword [esp + 0x18]
test ebx, ebx
jge 0x100524f3
mov byte [esp + edi + 0x10], 0
jmp 0x10052501
mov byte [esp + edi + 0x10], dl
jmp 0x10052501
mov edi, dword [esp + 0x18]
mov byte [esp + edi + 0x10], bl
mov ebx, dword [esp + 0x94]
test ebx, 0xffffff00
je 0x10052528
mov edi, dword [esp + 0x98]
test ebx, ebx
jge 0x10052522
mov byte [esp + edi + 0x10], 0
jmp 0x10052533
mov byte [esp + edi + 0x10], dl
jmp 0x10052533
mov edi, dword [esp + 0x98]
mov byte [esp + edi + 0x10], bl
mov edi, dword [esp + 0x70]
mov byte [esp + ebp + 0x10], dl
mov edx, dword [esp + 0x10]
mov dword [edi], edx
mov edi, dword [esp + 0x1c]
mov ebx, dword [0x10093068]
xor edx, edx
mov dl, byte [edi + 1]
mov edi, edx
lea edx, [ecx + edi]
add edx, ebx
mov ebx, dword [0x100930a8]
mov edx, dword [edx*4 + 0x100a70e0]
mov dword [esp + 0x90], edx
lea edx, [eax + edi]
add edx, ebx
mov ebx, dword [0x10093068]
add edx, ebx
mov ebx, dword [edx*4 + 0x100a7a60]
lea edx, [esi + edi]
add edx, dword [0x100930a8]
mov edx, dword [edx*4 + 0x100a82a0]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0x90]
test edx, 0xffffff00
je 0x100525b4
test edx, edx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov edi, dword [esp + 0x14]
test ebx, 0xffffff00
mov byte [esp + edi + 0x10], dl
je 0x100525dd
mov edi, dword [esp + 0x18]
test ebx, ebx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov byte [esp + edi + 0x10], dl
jmp 0x100525e5
mov edx, dword [esp + 0x18]
mov byte [esp + edx + 0x10], bl
mov edx, dword [esp + 0x94]
test edx, 0xffffff00
je 0x10052603
test edx, edx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov edi, dword [esp + 0x98]
mov byte [esp + edi + 0x10], dl
mov edi, dword [esp + 0x70]
mov byte [esp + ebp + 0x10], 0xff
mov edx, dword [esp + 0x10]
mov dword [edi + 4], edx
mov edi, dword [esp + 0x1c]
mov ebx, dword [0x1009306c]
xor edx, edx
mov dl, byte [edi + 2]
mov edi, edx
lea edx, [ecx + edi]
add edx, ebx
mov ebx, dword [0x100930ac]
mov edx, dword [edx*4 + 0x100a70e0]
mov dword [esp + 0x90], edx
lea edx, [eax + edi]
add edx, ebx
mov ebx, dword [0x1009306c]
add edx, ebx
mov ebx, dword [edx*4 + 0x100a7a60]
lea edx, [esi + edi]
add edx, dword [0x100930ac]
mov edx, dword [edx*4 + 0x100a82a0]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0x90]
test edx, 0xffffff00
je 0x10052691
test edx, edx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov edi, dword [esp + 0x14]
test ebx, 0xffffff00
mov byte [esp + edi + 0x10], dl
je 0x100526ba
mov edi, dword [esp + 0x18]
test ebx, ebx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov byte [esp + edi + 0x10], dl
jmp 0x100526c2
mov edx, dword [esp + 0x18]
mov byte [esp + edx + 0x10], bl
mov edx, dword [esp + 0x94]
test edx, 0xffffff00
je 0x100526e0
test edx, edx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov edi, dword [esp + 0x98]
mov byte [esp + edi + 0x10], dl
mov edi, dword [esp + 0x70]
mov byte [esp + ebp + 0x10], 0xff
mov edx, dword [esp + 0x10]
mov dword [edi + 8], edx
mov edi, dword [esp + 0x1c]
mov ebx, dword [0x10093070]
xor edx, edx
mov dl, byte [edi + 3]
mov edi, edx
lea edx, [ecx + edi]
add edx, ebx
mov ebx, dword [0x100930b0]
mov edx, dword [edx*4 + 0x100a70e0]
mov dword [esp + 0x90], edx
lea edx, [eax + edi]
add edx, ebx
mov ebx, dword [0x10093070]
add edx, ebx
mov ebx, dword [edx*4 + 0x100a7a60]
lea edx, [esi + edi]
add edx, dword [0x100930b0]
mov edx, dword [edx*4 + 0x100a82a0]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0x90]
test edx, 0xffffff00
je 0x1005276e
test edx, edx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov edi, dword [esp + 0x14]
test ebx, 0xffffff00
mov byte [esp + edi + 0x10], dl
je 0x10052797
mov edi, dword [esp + 0x18]
test ebx, ebx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov byte [esp + edi + 0x10], dl
jmp 0x1005279f
mov edx, dword [esp + 0x18]
mov byte [esp + edx + 0x10], bl
mov edx, dword [esp + 0x94]
test edx, 0xffffff00
je 0x100527bd
test edx, edx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov edi, dword [esp + 0x98]
mov ebx, dword [esp + 0x74]
mov byte [esp + edi + 0x10], dl
mov edi, dword [esp + 0x70]
mov byte [esp + ebp + 0x10], 0xff
mov edx, dword [esp + 0x10]
mov dword [edi + 0xc], edx
mov edi, dword [esp + 0x1c]
xor edx, edx
mov dl, byte [edi + ebx]
mov ebx, dword [0x10093074]
mov edi, edx
lea edx, [ecx + edi]
add edx, ebx
mov ebx, dword [0x100930b4]
mov edx, dword [edx*4 + 0x100a70e0]
mov dword [esp + 0x90], edx
lea edx, [eax + edi]
add edx, ebx
mov ebx, dword [0x10093074]
add edx, ebx
mov ebx, dword [0x100930b4]
add edi, esi
add edi, ebx
mov edx, dword [edx*4 + 0x100a7a60]
mov edi, dword [edi*4 + 0x100a82a0]
mov dword [esp + 0x94], edi
mov edi, dword [esp + 0x90]
test edi, 0xffffff00
je 0x10052858
mov ebx, edi
mov edi, dword [esp + 0x14]
test ebx, ebx
setge bl
dec ebx
and bl, 1
add ebx, 0xff
jmp 0x10052863
mov edi, dword [esp + 0x14]
mov bl, byte [esp + 0x90]
test edx, 0xffffff00
mov byte [esp + edi + 0x10], bl
je 0x1005287e
test edx, edx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov edi, dword [esp + 0x18]
mov byte [esp + edi + 0x10], dl
mov edx, dword [esp + 0x94]
test edx, 0xffffff00
je 0x100528a4
test edx, edx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov edi, dword [esp + 0x98]
mov ebx, dword [esp + 0x80]
mov byte [esp + edi + 0x10], dl
mov edi, dword [esp + 0x70]
mov byte [esp + ebp + 0x10], 0xff
mov edx, dword [esp + 0x10]
mov dword [edi + ebx], edx
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x74]
xor edx, edx
mov dl, byte [ebx + edi + 1]
mov ebx, dword [0x10093078]
mov edi, edx
lea edx, [ecx + edi]
add edx, ebx
mov ebx, dword [0x100930b8]
mov edx, dword [edx*4 + 0x100a70e0]
mov dword [esp + 0x90], edx
lea edx, [eax + edi]
add edx, ebx
mov ebx, dword [0x10093078]
add edx, ebx
mov ebx, dword [0x100930b8]
add edi, esi
add edi, ebx
mov edx, dword [edx*4 + 0x100a7a60]
mov edi, dword [edi*4 + 0x100a82a0]
mov dword [esp + 0x94], edi
mov edi, dword [esp + 0x90]
test edi, 0xffffff00
je 0x10052947
mov ebx, edi
mov edi, dword [esp + 0x14]
test ebx, ebx
setge bl
dec ebx
and bl, 1
add ebx, 0xff
jmp 0x10052952
mov edi, dword [esp + 0x14]
mov bl, byte [esp + 0x90]
test edx, 0xffffff00
mov byte [esp + edi + 0x10], bl
je 0x1005296d
test edx, edx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov edi, dword [esp + 0x18]
mov byte [esp + edi + 0x10], dl
mov edx, dword [esp + 0x94]
test edx, 0xffffff00
je 0x10052993
test edx, edx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov edi, dword [esp + 0x98]
mov ebx, dword [esp + 0x80]
mov byte [esp + edi + 0x10], dl
mov edi, dword [esp + 0x70]
mov byte [esp + ebp + 0x10], 0xff
mov edx, dword [esp + 0x10]
mov dword [ebx + edi + 4], edx
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x74]
xor edx, edx
mov dl, byte [ebx + edi + 2]
mov ebx, dword [0x1009307c]
mov edi, edx
lea edx, [ecx + edi]
add edx, ebx
mov ebx, dword [0x100930bc]
mov edx, dword [edx*4 + 0x100a70e0]
mov dword [esp + 0x90], edx
lea edx, [eax + edi]
add edx, ebx
mov ebx, dword [0x1009307c]
add edx, ebx
mov ebx, dword [0x100930bc]
add edi, esi
add edi, ebx
mov edx, dword [edx*4 + 0x100a7a60]
mov edi, dword [edi*4 + 0x100a82a0]
mov dword [esp + 0x94], edi
mov edi, dword [esp + 0x90]
test edi, 0xffffff00
je 0x10052a37
mov ebx, edi
mov edi, dword [esp + 0x14]
test ebx, ebx
setge bl
dec ebx
and bl, 1
add ebx, 0xff
jmp 0x10052a42
mov edi, dword [esp + 0x14]
mov bl, byte [esp + 0x90]
test edx, 0xffffff00
mov byte [esp + edi + 0x10], bl
je 0x10052a5d
test edx, edx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov edi, dword [esp + 0x18]
mov byte [esp + edi + 0x10], dl
mov edx, dword [esp + 0x94]
test edx, 0xffffff00
je 0x10052a83
test edx, edx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov edi, dword [esp + 0x98]
mov ebx, dword [esp + 0x80]
mov byte [esp + edi + 0x10], dl
mov edi, dword [esp + 0x70]
mov byte [esp + ebp + 0x10], 0xff
mov edx, dword [esp + 0x10]
mov dword [ebx + edi + 8], edx
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x74]
xor edx, edx
mov dl, byte [ebx + edi + 3]
mov ebx, dword [0x10093080]
mov edi, edx
lea edx, [ecx + edi]
add edx, ebx
mov ebx, dword [0x100930c0]
mov edx, dword [edx*4 + 0x100a70e0]
mov dword [esp + 0x90], edx
lea edx, [eax + edi]
add edx, ebx
mov ebx, dword [0x10093080]
add edx, ebx
mov ebx, dword [0x100930c0]
add edi, esi
add edi, ebx
mov edx, dword [edx*4 + 0x100a7a60]
mov edi, dword [edi*4 + 0x100a82a0]
mov dword [esp + 0x94], edi
mov edi, dword [esp + 0x90]
test edi, 0xffffff00
je 0x10052b27
mov ebx, edi
mov edi, dword [esp + 0x14]
test ebx, ebx
setge bl
dec ebx
and bl, 1
add ebx, 0xff
jmp 0x10052b32
mov edi, dword [esp + 0x14]
mov bl, byte [esp + 0x90]
test edx, 0xffffff00
mov byte [esp + edi + 0x10], bl
je 0x10052b4d
test edx, edx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov edi, dword [esp + 0x18]
mov byte [esp + edi + 0x10], dl
mov edx, dword [esp + 0x94]
test edx, 0xffffff00
je 0x10052b73
test edx, edx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov edi, dword [esp + 0x98]
mov ebx, dword [esp + 0x80]
mov byte [esp + edi + 0x10], dl
mov edi, dword [esp + 0x70]
mov byte [esp + ebp + 0x10], 0xff
mov edx, dword [esp + 0x10]
mov dword [ebx + edi + 0xc], edx
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x74]
xor edx, edx
mov dl, byte [edi + ebx*2]
mov ebx, dword [0x10093084]
mov edi, edx
lea edx, [ecx + edi]
add edx, ebx
mov ebx, dword [0x100930c4]
mov edx, dword [edx*4 + 0x100a70e0]
mov dword [esp + 0x90], edx
lea edx, [eax + edi]
add edx, ebx
mov ebx, dword [0x10093084]
add edx, ebx
mov ebx, dword [0x100930c4]
add edi, esi
add edi, ebx
mov edx, dword [edx*4 + 0x100a7a60]
mov edi, dword [edi*4 + 0x100a82a0]
mov dword [esp + 0x94], edi
mov edi, dword [esp + 0x90]
test edi, 0xffffff00
je 0x10052c16
mov ebx, edi
mov edi, dword [esp + 0x14]
test ebx, ebx
setge bl
dec ebx
and bl, 1
add ebx, 0xff
jmp 0x10052c21
mov edi, dword [esp + 0x14]
mov bl, byte [esp + 0x90]
test edx, 0xffffff00
mov byte [esp + edi + 0x10], bl
je 0x10052c3c
test edx, edx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov edi, dword [esp + 0x18]
mov byte [esp + edi + 0x10], dl
mov edx, dword [esp + 0x94]
test edx, 0xffffff00
je 0x10052c62
test edx, edx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov edi, dword [esp + 0x98]
mov ebx, dword [esp + 0x80]
mov byte [esp + edi + 0x10], dl
mov edi, dword [esp + 0x70]
mov byte [esp + ebp + 0x10], 0xff
mov edx, dword [esp + 0x10]
mov dword [edi + ebx*2], edx
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x74]
xor edx, edx
mov dl, byte [edi + ebx*2 + 1]
mov ebx, dword [0x10093088]
mov edi, edx
lea edx, [ecx + edi]
add edx, ebx
mov ebx, dword [0x100930c8]
mov edx, dword [edx*4 + 0x100a70e0]
mov dword [esp + 0x90], edx
lea edx, [eax + edi]
add edx, ebx
mov ebx, dword [0x10093088]
add edx, ebx
mov ebx, dword [0x100930c8]
add edi, esi
add edi, ebx
mov edx, dword [edx*4 + 0x100a7a60]
mov edi, dword [edi*4 + 0x100a82a0]
mov dword [esp + 0x94], edi
mov edi, dword [esp + 0x90]
test edi, 0xffffff00
je 0x10052d05
mov ebx, edi
mov edi, dword [esp + 0x14]
test ebx, ebx
setge bl
dec ebx
and bl, 1
add ebx, 0xff
jmp 0x10052d10
mov edi, dword [esp + 0x14]
mov bl, byte [esp + 0x90]
test edx, 0xffffff00
mov byte [esp + edi + 0x10], bl
je 0x10052d2b
test edx, edx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov edi, dword [esp + 0x18]
mov byte [esp + edi + 0x10], dl
mov edx, dword [esp + 0x94]
test edx, 0xffffff00
je 0x10052d51
test edx, edx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov edi, dword [esp + 0x98]
mov ebx, dword [esp + 0x80]
mov byte [esp + edi + 0x10], dl
mov edi, dword [esp + 0x70]
mov byte [esp + ebp + 0x10], 0xff
mov edx, dword [esp + 0x10]
mov dword [edi + ebx*2 + 4], edx
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x74]
xor edx, edx
mov dl, byte [edi + ebx*2 + 2]
mov ebx, dword [0x1009308c]
mov edi, edx
lea edx, [ecx + edi]
add edx, ebx
mov ebx, dword [0x100930cc]
mov edx, dword [edx*4 + 0x100a70e0]
mov dword [esp + 0x90], edx
lea edx, [eax + edi]
add edx, ebx
mov ebx, dword [0x1009308c]
add edx, ebx
mov ebx, dword [0x100930cc]
add edi, esi
add edi, ebx
mov edx, dword [edx*4 + 0x100a7a60]
mov edi, dword [edi*4 + 0x100a82a0]
mov dword [esp + 0x94], edi
mov edi, dword [esp + 0x90]
test edi, 0xffffff00
je 0x10052df5
mov ebx, edi
mov edi, dword [esp + 0x14]
test ebx, ebx
setge bl
dec ebx
and bl, 1
add ebx, 0xff
jmp 0x10052e00
mov edi, dword [esp + 0x14]
mov bl, byte [esp + 0x90]
test edx, 0xffffff00
mov byte [esp + edi + 0x10], bl
je 0x10052e1b
test edx, edx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov edi, dword [esp + 0x18]
mov byte [esp + edi + 0x10], dl
mov edx, dword [esp + 0x94]
test edx, 0xffffff00
je 0x10052e41
test edx, edx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov edi, dword [esp + 0x98]
mov ebx, dword [esp + 0x80]
mov byte [esp + edi + 0x10], dl
mov edi, dword [esp + 0x70]
mov byte [esp + ebp + 0x10], 0xff
mov edx, dword [esp + 0x10]
mov dword [edi + ebx*2 + 8], edx
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x74]
xor edx, edx
mov dl, byte [edi + ebx*2 + 3]
mov ebx, dword [0x10093090]
mov edi, edx
lea edx, [ecx + edi]
add edx, ebx
mov ebx, dword [0x100930d0]
mov edx, dword [edx*4 + 0x100a70e0]
mov dword [esp + 0x90], edx
lea edx, [eax + edi]
add edx, ebx
mov ebx, dword [0x10093090]
add edx, ebx
mov ebx, dword [0x100930d0]
add edi, esi
add edi, ebx
mov edx, dword [edx*4 + 0x100a7a60]
mov edi, dword [edi*4 + 0x100a82a0]
mov dword [esp + 0x94], edi
mov edi, dword [esp + 0x90]
test edi, 0xffffff00
je 0x10052ee5
mov ebx, edi
mov edi, dword [esp + 0x14]
test ebx, ebx
setge bl
dec ebx
and bl, 1
add ebx, 0xff
jmp 0x10052ef0
mov edi, dword [esp + 0x14]
mov bl, byte [esp + 0x90]
test edx, 0xffffff00
mov byte [esp + edi + 0x10], bl
je 0x10052f0b
test edx, edx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov edi, dword [esp + 0x18]
mov byte [esp + edi + 0x10], dl
mov edx, dword [esp + 0x94]
test edx, 0xffffff00
je 0x10052f31
test edx, edx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov edi, dword [esp + 0x98]
mov ebx, dword [esp + 0x80]
mov byte [esp + edi + 0x10], dl
mov edi, dword [esp + 0x70]
mov byte [esp + ebp + 0x10], 0xff
mov edx, dword [esp + 0x10]
mov dword [edi + ebx*2 + 0xc], edx
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x38]
xor edx, edx
mov dl, byte [edi + ebx]
mov ebx, dword [0x10093094]
mov edi, edx
lea edx, [ecx + edi]
add edx, ebx
mov ebx, dword [0x100930d4]
mov edx, dword [edx*4 + 0x100a70e0]
mov dword [esp + 0x90], edx
lea edx, [eax + edi]
add edx, ebx
mov ebx, dword [0x10093094]
add edx, ebx
mov ebx, dword [0x100930d4]
add edi, esi
add edi, ebx
mov edx, dword [edx*4 + 0x100a7a60]
mov edi, dword [edi*4 + 0x100a82a0]
mov dword [esp + 0x94], edi
mov edi, dword [esp + 0x90]
test edi, 0xffffff00
je 0x10052fd4
mov ebx, edi
mov edi, dword [esp + 0x14]
test ebx, ebx
setge bl
dec ebx
and bl, 1
add ebx, 0xff
jmp 0x10052fdf
mov edi, dword [esp + 0x14]
mov bl, byte [esp + 0x90]
test edx, 0xffffff00
mov byte [esp + edi + 0x10], bl
je 0x10052ffa
test edx, edx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov edi, dword [esp + 0x18]
mov byte [esp + edi + 0x10], dl
mov edx, dword [esp + 0x94]
test edx, 0xffffff00
je 0x10053020
test edx, edx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov edi, dword [esp + 0x98]
mov ebx, dword [esp + 0x2c]
mov byte [esp + edi + 0x10], dl
mov edi, dword [esp + 0x70]
mov byte [esp + ebp + 0x10], 0xff
mov edx, dword [esp + 0x10]
mov dword [edi + ebx], edx
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x38]
xor edx, edx
mov dl, byte [ebx + edi + 1]
mov ebx, dword [0x10093098]
mov edi, edx
lea edx, [ecx + edi]
add edx, ebx
mov ebx, dword [0x100930d8]
mov edx, dword [edx*4 + 0x100a70e0]
mov dword [esp + 0x90], edx
lea edx, [eax + edi]
add edx, ebx
mov ebx, dword [0x10093098]
add edx, ebx
mov ebx, dword [0x100930d8]
add edi, esi
add edi, ebx
mov edx, dword [edx*4 + 0x100a7a60]
mov edi, dword [edi*4 + 0x100a82a0]
mov dword [esp + 0x94], edi
mov edi, dword [esp + 0x90]
test edi, 0xffffff00
je 0x100530c0
mov ebx, edi
mov edi, dword [esp + 0x14]
test ebx, ebx
setge bl
dec ebx
and bl, 1
add ebx, 0xff
jmp 0x100530cb
mov edi, dword [esp + 0x14]
mov bl, byte [esp + 0x90]
test edx, 0xffffff00
mov byte [esp + edi + 0x10], bl
je 0x100530e6
test edx, edx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov edi, dword [esp + 0x18]
mov byte [esp + edi + 0x10], dl
mov edx, dword [esp + 0x94]
test edx, 0xffffff00
je 0x1005310c
test edx, edx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov edi, dword [esp + 0x98]
mov ebx, dword [esp + 0x2c]
mov byte [esp + edi + 0x10], dl
mov edi, dword [esp + 0x70]
mov byte [esp + ebp + 0x10], 0xff
mov edx, dword [esp + 0x10]
mov dword [ebx + edi + 4], edx
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x38]
xor edx, edx
mov ebp, dword [0x100930dc]
mov dl, byte [ebx + edi + 2]
mov ebx, dword [0x1009309c]
mov edi, edx
lea edx, [ecx + edi]
add edx, ebx
lea ebx, [eax + edi]
add ebx, ebp
mov ebp, dword [0x1009309c]
mov edx, dword [edx*4 + 0x100a70e0]
add ebx, ebp
add edi, esi
mov ebx, dword [ebx*4 + 0x100a7a60]
mov dword [esp + 0x90], ebx
mov ebx, dword [0x100930dc]
add edi, ebx
test edx, 0xffffff00
mov ebx, dword [edi*4 + 0x100a82a0]
je 0x10053197
test edx, edx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov edi, dword [esp + 0x14]
mov byte [esp + edi + 0x10], dl
mov edx, dword [esp + 0x90]
test edx, 0xffffff00
je 0x100531c5
mov ebp, edx
mov edi, dword [esp + 0x18]
test ebp, ebp
setge dl
dec edx
and dl, 1
add edx, 0xff
jmp 0x100531d0
mov edi, dword [esp + 0x18]
mov dl, byte [esp + 0x90]
test ebx, 0xffffff00
mov byte [esp + edi + 0x10], dl
je 0x100531f8
mov edi, dword [esp + 0x98]
test ebx, ebx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov byte [esp + edi + 0x10], dl
jmp 0x10053203
mov edx, dword [esp + 0x98]
mov byte [esp + edx + 0x10], bl
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x2c]
mov byte [esp + ebp + 0x10], 0xff
mov edx, dword [esp + 0x10]
mov dword [ebx + edi + 8], edx
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x1c]
xor edx, edx
mov dl, byte [edi + ebx + 3]
mov ebx, dword [0x100930e0]
mov edi, dword [0x100930a0]
add eax, edx
add ecx, edx
add eax, ebx
add ecx, edi
add eax, edi
add esi, edx
mov edi, ebx
mov ecx, dword [ecx*4 + 0x100a70e0]
mov eax, dword [eax*4 + 0x100a7a60]
add esi, edi
test ecx, 0xffffff00
mov edx, dword [esi*4 + 0x100a82a0]
je 0x10053272
test ecx, ecx
setge cl
dec ecx
and cl, 1
add ecx, 0xff
mov esi, dword [esp + 0x14]
test eax, 0xffffff00
mov byte [esp + esi + 0x10], cl
je 0x1005328e
test eax, eax
setge al
dec eax
and al, 1
add eax, 0xff
mov ecx, dword [esp + 0x18]
test edx, 0xffffff00
mov byte [esp + ecx + 0x10], al
je 0x100532ba
mov eax, dword [esp + 0x98]
test edx, edx
setge dl
dec edx
and dl, 1
add edx, 0xff
mov byte [esp + eax + 0x10], dl
jmp 0x100532c5
mov ecx, dword [esp + 0x98]
mov byte [esp + ecx + 0x10], dl
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x30]
mov byte [esp + ebp + 0x10], 0xff
mov edx, dword [esp + 0x10]
mov dword [eax + ecx + 0xc], edx
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
add ecx, 0x10
add eax, 4
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x64]
add edi, 4
inc esi
inc edx
cmp eax, ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], edx
jb 0x10052424
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x70]
add edx, ecx
mov ecx, dword [esp + 0x30]
add ebx, eax
add ecx, eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x60]
add eax, 4
add esi, edx
cmp eax, ecx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x44], eax
mov dword [esp + 0x70], esi
jb 0x10052410
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
cmp eax, esi
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x28], eax
jne 0x10053378
mov dword [esp + 0x28], ecx
mov esi, dword [esp + 0x94]
mov ebp, ebx
mov edx, esi
shr edx, 0x10
mov byte [esp + 0x78], dl
mov edx, esi
mov esi, dword [esp + 0x8c]
shr edx, 8
mov byte [esp + 0x68], dl
lea edx, [esi*4]
shr ebp, 3
sub edx, ebp
mov dword [esp + 0x54], edx
lea edx, [esi + esi*2]
test eax, eax
mov dword [esp + 0x48], edx
je 0x100533c0
test ecx, ecx
je 0x100533c0
mov edx, 1
jmp 0x100533c2
xor edx, edx
mov ebp, dword [esp + 0x60]
test edx, edx
je 0x100533e1
mov edx, esi
imul edx, ebp
shr edx, 2
je 0x100533e1
sub ecx, eax
mov esi, dword [ecx + eax]
and dword [eax], esi
add eax, 4
dec edx
jne 0x100533d6
xor eax, eax
cmp ebp, eax
mov dword [esp + 0x44], eax
jbe case.default.0x10052314
jmp 0x100533f7
mov ebx, dword [esp + 0x64]
xor eax, eax
cmp ebx, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
jbe 0x100548ac
mov bl, byte [esp + 0x94]
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x7c]
jmp 0x1005341f
mov bl, byte [esp + 0x94]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
xor eax, eax
mov al, byte [ecx]
xor ecx, ecx
mov cl, byte [edx]
mov edx, dword [eax*4 + 0x100a60e0]
mov dword [esp + 0x84], edx
mov edx, dword [ecx*4 + 0x100a6ce0]
add edx, dword [eax*4 + 0x100a64e0]
mov eax, dword [ecx*4 + 0x100a68e0]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x3c]
test eax, eax
mov dword [esp + 0x88], edx
je 0x10053470
mov ecx, dword [esp + 0x28]
mov cl, byte [ecx]
and cl, 0xf
jmp 0x10053479
mov edx, dword [esp + 0x28]
mov cl, byte [edx]
shr cl, 4
test esi, esi
mov byte [esp + 0x98], cl
je 0x10053497
mov eax, dword [esp + 0x3c]
test eax, eax
mov al, byte [esi]
je 0x10053492
and al, 0xf
jmp 0x10053499
shr al, 4
jmp 0x10053499
xor al, al
test cl, 8
mov byte [esp + 0x6c], al
je 0x1005357d
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
xor eax, eax
mov al, byte [ecx]
lea ebp, [esi + eax]
mov esi, dword [0x100930a4]
lea ecx, [edx + eax]
mov edx, dword [0x10093064]
add ebp, esi
add ecx, edx
add ebp, edx
mov ecx, dword [ecx*4 + 0x100a70e0]
mov edx, dword [ebp*4 + 0x100a7a60]
mov ebp, dword [esp + 0x24]
add ebp, eax
add ebp, esi
test ecx, 0xffffff00
mov eax, dword [ebp*4 + 0x100a82a0]
je 0x1005350f
test ecx, ecx
mov ecx, dword [esp + 0x14]
jge 0x10053508
mov byte [esp + ecx + 0x10], 0
jmp 0x10053517
mov byte [esp + ecx + 0x10], 0xff
jmp 0x10053517
mov esi, dword [esp + 0x14]
mov byte [esp + esi + 0x10], cl
test edx, 0xffffff00
je 0x10053539
test edx, edx
jge 0x1005352e
mov edx, dword [esp + 0x18]
mov byte [esp + edx + 0x10], 0
jmp 0x10053541
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], 0xff
jmp 0x10053541
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], dl
test eax, 0xffffff00
je 0x1005355a
test eax, eax
jge 0x10053553
mov byte [esp + edi + 0x10], 0
jmp 0x1005355e
mov byte [esp + edi + 0x10], 0xff
jmp 0x1005355e
mov byte [esp + edi + 0x10], al
mov edx, dword [esp + 0x20]
mov ebp, dword [esp + 0x70]
mov cl, byte [esp + 0x98]
mov byte [edx], 0xff
mov eax, dword [esp + 0x10]
mov dword [ebp], eax
mov al, byte [esp + 0x6c]
jmp 0x100535ba
mov edx, dword [esp + 0x90]
test edx, edx
je 0x100535be
test esi, esi
je 0x10053590
test al, 8
je 0x100535be
mov esi, dword [esp + 0x14]
mov dl, byte [esp + 0x78]
mov byte [esp + esi + 0x10], dl
mov esi, dword [esp + 0x18]
mov dl, byte [esp + 0x68]
mov byte [esp + esi + 0x10], dl
mov edx, dword [esp + 0x20]
mov byte [esp + edi + 0x10], bl
mov byte [edx], 0
mov edx, dword [esp + 0x10]
mov dword [ebp], edx
mov esi, dword [esp + 0x7c]
test cl, 4
je 0x1005369f
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
xor eax, eax
mov al, byte [ecx + 1]
lea ebp, [esi + eax]
mov esi, dword [0x100930a8]
lea ecx, [edx + eax]
mov edx, dword [0x10093068]
add ebp, esi
add ecx, edx
add ebp, edx
mov ecx, dword [ecx*4 + 0x100a70e0]
mov edx, dword [ebp*4 + 0x100a7a60]
mov ebp, dword [esp + 0x24]
add ebp, eax
add ebp, esi
test ecx, 0xffffff00
mov eax, dword [ebp*4 + 0x100a82a0]
je 0x10053631
test ecx, ecx
mov ecx, dword [esp + 0x14]
jge 0x1005362a
mov byte [esp + ecx + 0x10], 0
jmp 0x10053639
mov byte [esp + ecx + 0x10], 0xff
jmp 0x10053639
mov esi, dword [esp + 0x14]
mov byte [esp + esi + 0x10], cl
test edx, 0xffffff00
je 0x1005365b
test edx, edx
jge 0x10053650
mov edx, dword [esp + 0x18]
mov byte [esp + edx + 0x10], 0
jmp 0x10053663
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], 0xff
jmp 0x10053663
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], dl
test eax, 0xffffff00
je 0x1005367c
test eax, eax
jge 0x10053675
mov byte [esp + edi + 0x10], 0
jmp 0x10053680
mov byte [esp + edi + 0x10], 0xff
jmp 0x10053680
mov byte [esp + edi + 0x10], al
mov edx, dword [esp + 0x20]
mov ebp, dword [esp + 0x70]
mov cl, byte [esp + 0x98]
mov byte [edx], 0xff
mov eax, dword [esp + 0x10]
mov dword [ebp + 4], eax
mov al, byte [esp + 0x6c]
jmp 0x100536dc
mov edx, dword [esp + 0x90]
test edx, edx
je 0x100536e0
test esi, esi
je 0x100536b2
test al, 4
je 0x100536e0
mov esi, dword [esp + 0x14]
mov dl, byte [esp + 0x78]
mov byte [esp + esi + 0x10], dl
mov esi, dword [esp + 0x18]
mov dl, byte [esp + 0x68]
mov byte [esp + esi + 0x10], dl
mov edx, dword [esp + 0x20]
mov byte [esp + edi + 0x10], bl
mov byte [edx], 0
mov edx, dword [esp + 0x10]
mov dword [ebp + 4], edx
mov esi, dword [esp + 0x7c]
test cl, 2
je 0x100537c1
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
xor eax, eax
mov al, byte [ecx + 2]
lea ebp, [esi + eax]
mov esi, dword [0x100930ac]
lea ecx, [edx + eax]
mov edx, dword [0x1009306c]
add ebp, esi
add ecx, edx
add ebp, edx
mov ecx, dword [ecx*4 + 0x100a70e0]
mov edx, dword [ebp*4 + 0x100a7a60]
mov ebp, dword [esp + 0x24]
add ebp, eax
add ebp, esi
test ecx, 0xffffff00
mov eax, dword [ebp*4 + 0x100a82a0]
je 0x10053753
test ecx, ecx
mov ecx, dword [esp + 0x14]
jge 0x1005374c
mov byte [esp + ecx + 0x10], 0
jmp 0x1005375b
mov byte [esp + ecx + 0x10], 0xff
jmp 0x1005375b
mov esi, dword [esp + 0x14]
mov byte [esp + esi + 0x10], cl
test edx, 0xffffff00
je 0x1005377d
test edx, edx
jge 0x10053772
mov edx, dword [esp + 0x18]
mov byte [esp + edx + 0x10], 0
jmp 0x10053785
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], 0xff
jmp 0x10053785
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], dl
test eax, 0xffffff00
je 0x1005379e
test eax, eax
jge 0x10053797
mov byte [esp + edi + 0x10], 0
jmp 0x100537a2
mov byte [esp + edi + 0x10], 0xff
jmp 0x100537a2
mov byte [esp + edi + 0x10], al
mov edx, dword [esp + 0x20]
mov ebp, dword [esp + 0x70]
mov cl, byte [esp + 0x98]
mov byte [edx], 0xff
mov eax, dword [esp + 0x10]
mov dword [ebp + 8], eax
mov al, byte [esp + 0x6c]
jmp 0x100537fe
mov edx, dword [esp + 0x90]
test edx, edx
je 0x10053802
test esi, esi
je 0x100537d4
test al, 2
je 0x10053802
mov esi, dword [esp + 0x14]
mov dl, byte [esp + 0x78]
mov byte [esp + esi + 0x10], dl
mov esi, dword [esp + 0x18]
mov dl, byte [esp + 0x68]
mov byte [esp + esi + 0x10], dl
mov edx, dword [esp + 0x20]
mov byte [esp + edi + 0x10], bl
mov byte [edx], 0
mov edx, dword [esp + 0x10]
mov dword [ebp + 8], edx
mov esi, dword [esp + 0x7c]
test cl, 1
je 0x100538d8
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
xor eax, eax
mov al, byte [ecx + 3]
lea ebx, [esi + eax]
mov esi, dword [0x100930b0]
lea ecx, [edx + eax]
mov edx, dword [0x10093070]
add ebx, esi
add ecx, edx
add ebx, edx
mov ecx, dword [ecx*4 + 0x100a70e0]
mov edx, dword [ebx*4 + 0x100a7a60]
mov ebx, dword [esp + 0x24]
add ebx, eax
add ebx, esi
test ecx, 0xffffff00
mov eax, dword [ebx*4 + 0x100a82a0]
je 0x10053875
test ecx, ecx
mov ecx, dword [esp + 0x14]
jge 0x1005386e
mov byte [esp + ecx + 0x10], 0
jmp 0x1005387d
mov byte [esp + ecx + 0x10], 0xff
jmp 0x1005387d
mov esi, dword [esp + 0x14]
mov byte [esp + esi + 0x10], cl
test edx, 0xffffff00
je 0x1005389f
test edx, edx
jge 0x10053894
mov edx, dword [esp + 0x18]
mov byte [esp + edx + 0x10], 0
jmp 0x100538a7
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], 0xff
jmp 0x100538a7
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], dl
test eax, 0xffffff00
je 0x100538c0
test eax, eax
jge 0x100538b9
mov byte [esp + edi + 0x10], 0
jmp 0x100538c4
mov byte [esp + edi + 0x10], 0xff
jmp 0x100538c4
mov byte [esp + edi + 0x10], al
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x7c]
mov byte [edx], 0xff
mov eax, dword [esp + 0x10]
mov dword [ebp + 0xc], eax
jmp 0x10053915
mov ecx, dword [esp + 0x90]
test ecx, ecx
je 0x10053915
test esi, esi
je 0x100538eb
test al, 1
je 0x10053915
mov edx, dword [esp + 0x14]
mov cl, byte [esp + 0x78]
mov al, byte [esp + 0x68]
mov byte [esp + edx + 0x10], cl
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov byte [esp + ecx + 0x10], al
mov byte [esp + edi + 0x10], bl
mov byte [edx], 0
mov eax, dword [esp + 0x10]
mov dword [ebp + 0xc], eax
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x28]
test edx, edx
mov al, byte [eax + ecx]
je 0x1005392f
and al, 0xf
jmp 0x10053932
shr al, 4
test esi, esi
mov byte [esp + 0x98], al
je 0x1005394e
mov bl, byte [esi + ecx]
test edx, edx
je 0x10053949
and bl, 0xf
jmp 0x10053950
shr bl, 4
jmp 0x10053950
xor bl, bl
test byte [esp + 0x98], 8
je 0x10053a41
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x74]
mov esi, dword [esp + 0x88]
xor eax, eax
mov al, byte [ecx + edx]
mov ecx, dword [esp + 0x84]
mov edx, dword [0x10093074]
add ecx, eax
lea ebp, [esi + eax]
mov esi, dword [0x100930b4]
add ebp, esi
add ecx, edx
add ebp, edx
mov ecx, dword [ecx*4 + 0x100a70e0]
mov edx, dword [ebp*4 + 0x100a7a60]
mov ebp, dword [esp + 0x24]
add ebp, eax
add ebp, esi
test ecx, 0xffffff00
mov eax, dword [ebp*4 + 0x100a82a0]
je 0x100539cb
test ecx, ecx
mov ecx, dword [esp + 0x14]
jge 0x100539c4
mov byte [esp + ecx + 0x10], 0
jmp 0x100539d3
mov byte [esp + ecx + 0x10], 0xff
jmp 0x100539d3
mov esi, dword [esp + 0x14]
mov byte [esp + esi + 0x10], cl
test edx, 0xffffff00
je 0x100539f5
test edx, edx
jge 0x100539ea
mov edx, dword [esp + 0x18]
mov byte [esp + edx + 0x10], 0
jmp 0x100539fd
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], 0xff
jmp 0x100539fd
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], dl
test eax, 0xffffff00
je 0x10053a16
test eax, eax
jge 0x10053a0f
mov byte [esp + edi + 0x10], 0
jmp 0x10053a1a
mov byte [esp + edi + 0x10], 0xff
jmp 0x10053a1a
mov byte [esp + edi + 0x10], al
mov edx, dword [esp + 0x20]
mov ebp, dword [esp + 0x70]
mov ecx, dword [esp + 0x80]
mov esi, dword [esp + 0x7c]
mov byte [edx], 0xff
mov eax, dword [esp + 0x10]
mov dword [ebp + ecx], eax
mov ecx, dword [esp + 0x8c]
jmp 0x10053a8e
mov eax, dword [esp + 0x90]
test eax, eax
je 0x10053a8e
test esi, esi
je 0x10053a55
test bl, 8
je 0x10053a8e
mov eax, dword [esp + 0x14]
mov dl, byte [esp + 0x78]
mov byte [esp + eax + 0x10], dl
mov edx, dword [esp + 0x18]
mov al, byte [esp + 0x68]
mov byte [esp + edx + 0x10], al
mov dl, byte [esp + 0x94]
mov eax, dword [esp + 0x20]
mov byte [esp + edi + 0x10], dl
mov byte [eax], 0
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x10]
mov dword [ebp + eax], edx
test byte [esp + 0x98], 4
je 0x10053b80
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x74]
mov esi, dword [esp + 0x88]
xor eax, eax
mov al, byte [ecx + edx + 1]
mov ecx, dword [esp + 0x84]
mov edx, dword [0x10093078]
add ecx, eax
lea ebp, [esi + eax]
mov esi, dword [0x100930b8]
add ebp, esi
add ecx, edx
add ebp, edx
mov ecx, dword [ecx*4 + 0x100a70e0]
mov edx, dword [ebp*4 + 0x100a7a60]
mov ebp, dword [esp + 0x24]
add ebp, eax
add ebp, esi
test ecx, 0xffffff00
mov eax, dword [ebp*4 + 0x100a82a0]
je 0x10053b0a
test ecx, ecx
mov ecx, dword [esp + 0x14]
jge 0x10053b03
mov byte [esp + ecx + 0x10], 0
jmp 0x10053b12
mov byte [esp + ecx + 0x10], 0xff
jmp 0x10053b12
mov esi, dword [esp + 0x14]
mov byte [esp + esi + 0x10], cl
test edx, 0xffffff00
je 0x10053b34
test edx, edx
jge 0x10053b29
mov edx, dword [esp + 0x18]
mov byte [esp + edx + 0x10], 0
jmp 0x10053b3c
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], 0xff
jmp 0x10053b3c
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], dl
test eax, 0xffffff00
je 0x10053b55
test eax, eax
jge 0x10053b4e
mov byte [esp + edi + 0x10], 0
jmp 0x10053b59
mov byte [esp + edi + 0x10], 0xff
jmp 0x10053b59
mov byte [esp + edi + 0x10], al
mov edx, dword [esp + 0x20]
mov ebp, dword [esp + 0x70]
mov ecx, dword [esp + 0x80]
mov esi, dword [esp + 0x7c]
mov byte [edx], 0xff
mov eax, dword [esp + 0x10]
mov dword [ecx + ebp + 4], eax
mov ecx, dword [esp + 0x8c]
jmp 0x10053bcd
mov eax, dword [esp + 0x90]
test eax, eax
je 0x10053bcd
test esi, esi
je 0x10053b94
test bl, 4
je 0x10053bcd
mov eax, dword [esp + 0x14]
mov dl, byte [esp + 0x78]
mov byte [esp + eax + 0x10], dl
mov eax, dword [esp + 0x18]
mov dl, byte [esp + 0x68]
mov byte [esp + eax + 0x10], dl
mov dl, byte [esp + 0x94]
mov eax, dword [esp + 0x20]
mov byte [esp + edi + 0x10], dl
mov byte [eax], 0
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x10]
mov dword [eax + ebp + 4], edx
test byte [esp + 0x98], 2
je 0x10053cbf
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x74]
mov esi, dword [esp + 0x88]
xor eax, eax
mov al, byte [ecx + edx + 2]
mov ecx, dword [esp + 0x84]
mov edx, dword [0x1009307c]
add ecx, eax
lea ebp, [esi + eax]
mov esi, dword [0x100930bc]
add ebp, esi
add ecx, edx
add ebp, edx
mov ecx, dword [ecx*4 + 0x100a70e0]
mov edx, dword [ebp*4 + 0x100a7a60]
mov ebp, dword [esp + 0x24]
add ebp, eax
add ebp, esi
test ecx, 0xffffff00
mov eax, dword [ebp*4 + 0x100a82a0]
je 0x10053c49
test ecx, ecx
mov ecx, dword [esp + 0x14]
jge 0x10053c42
mov byte [esp + ecx + 0x10], 0
jmp 0x10053c51
mov byte [esp + ecx + 0x10], 0xff
jmp 0x10053c51
mov esi, dword [esp + 0x14]
mov byte [esp + esi + 0x10], cl
test edx, 0xffffff00
je 0x10053c73
test edx, edx
jge 0x10053c68
mov edx, dword [esp + 0x18]
mov byte [esp + edx + 0x10], 0
jmp 0x10053c7b
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], 0xff
jmp 0x10053c7b
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], dl
test eax, 0xffffff00
je 0x10053c94
test eax, eax
jge 0x10053c8d
mov byte [esp + edi + 0x10], 0
jmp 0x10053c98
mov byte [esp + edi + 0x10], 0xff
jmp 0x10053c98
mov byte [esp + edi + 0x10], al
mov edx, dword [esp + 0x20]
mov ebp, dword [esp + 0x70]
mov ecx, dword [esp + 0x80]
mov esi, dword [esp + 0x7c]
mov byte [edx], 0xff
mov eax, dword [esp + 0x10]
mov dword [ecx + ebp + 8], eax
mov ecx, dword [esp + 0x8c]
jmp 0x10053d0c
mov eax, dword [esp + 0x90]
test eax, eax
je 0x10053d0c
test esi, esi
je 0x10053cd3
test bl, 2
je 0x10053d0c
mov eax, dword [esp + 0x14]
mov dl, byte [esp + 0x78]
mov byte [esp + eax + 0x10], dl
mov eax, dword [esp + 0x18]
mov dl, byte [esp + 0x68]
mov byte [esp + eax + 0x10], dl
mov dl, byte [esp + 0x94]
mov eax, dword [esp + 0x20]
mov byte [esp + edi + 0x10], dl
mov byte [eax], 0
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x10]
mov dword [eax + ebp + 8], edx
test byte [esp + 0x98], 1
je 0x10053dfa
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x74]
mov esi, dword [esp + 0x88]
xor eax, eax
mov al, byte [ecx + edx + 3]
mov ecx, dword [esp + 0x84]
mov edx, dword [0x10093080]
add ecx, eax
lea ebx, [esi + eax]
mov esi, dword [0x100930c0]
add ebx, esi
add ecx, edx
add ebx, edx
mov ecx, dword [ecx*4 + 0x100a70e0]
mov edx, dword [ebx*4 + 0x100a7a60]
mov ebx, dword [esp + 0x24]
add ebx, eax
add ebx, esi
test ecx, 0xffffff00
mov eax, dword [ebx*4 + 0x100a82a0]
je 0x10053d88
test ecx, ecx
mov ecx, dword [esp + 0x14]
jge 0x10053d81
mov byte [esp + ecx + 0x10], 0
jmp 0x10053d90
mov byte [esp + ecx + 0x10], 0xff
jmp 0x10053d90
mov esi, dword [esp + 0x14]
mov byte [esp + esi + 0x10], cl
test edx, 0xffffff00
je 0x10053db2
test edx, edx
jge 0x10053da7
mov edx, dword [esp + 0x18]
mov byte [esp + edx + 0x10], 0
jmp 0x10053dba
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], 0xff
jmp 0x10053dba
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], dl
test eax, 0xffffff00
je 0x10053dd3
test eax, eax
jge 0x10053dcc
mov byte [esp + edi + 0x10], 0
jmp 0x10053dd7
mov byte [esp + edi + 0x10], 0xff
jmp 0x10053dd7
mov byte [esp + edi + 0x10], al
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x80]
mov esi, dword [esp + 0x7c]
mov byte [edx], 0xff
mov eax, dword [esp + 0x10]
mov dword [ecx + ebp + 0xc], eax
mov ecx, dword [esp + 0x8c]
jmp 0x10053e47
mov eax, dword [esp + 0x90]
test eax, eax
je 0x10053e47
test esi, esi
je 0x10053e0e
test bl, 1
je 0x10053e47
mov eax, dword [esp + 0x14]
mov dl, byte [esp + 0x78]
mov byte [esp + eax + 0x10], dl
mov eax, dword [esp + 0x18]
mov dl, byte [esp + 0x68]
mov byte [esp + eax + 0x10], dl
mov dl, byte [esp + 0x94]
mov eax, dword [esp + 0x20]
mov byte [esp + edi + 0x10], dl
mov byte [eax], 0
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x10]
mov dword [eax + ebp + 0xc], edx
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x28]
test edx, edx
mov al, byte [eax + ecx*2]
je 0x10053e5a
and al, 0xf
jmp 0x10053e5d
shr al, 4
test esi, esi
mov byte [esp + 0x98], al
je 0x10053e79
mov bl, byte [esi + ecx*2]
test edx, edx
je 0x10053e74
and bl, 0xf
jmp 0x10053e7b
shr bl, 4
jmp 0x10053e7b
xor bl, bl
test byte [esp + 0x98], 8
je 0x10053f65
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x74]
mov esi, dword [esp + 0x88]
xor eax, eax
mov al, byte [ecx + edx*2]
mov ecx, dword [esp + 0x84]
mov edx, dword [0x10093084]
add ecx, eax
lea ebp, [esi + eax]
mov esi, dword [0x100930c4]
add ebp, esi
add ecx, edx
add ebp, edx
mov ecx, dword [ecx*4 + 0x100a70e0]
mov edx, dword [ebp*4 + 0x100a7a60]
mov ebp, dword [esp + 0x24]
add ebp, eax
add ebp, esi
test ecx, 0xffffff00
mov eax, dword [ebp*4 + 0x100a82a0]
je 0x10053ef6
test ecx, ecx
mov ecx, dword [esp + 0x14]
jge 0x10053eef
mov byte [esp + ecx + 0x10], 0
jmp 0x10053efe
mov byte [esp + ecx + 0x10], 0xff
jmp 0x10053efe
mov esi, dword [esp + 0x14]
mov byte [esp + esi + 0x10], cl
test edx, 0xffffff00
je 0x10053f20
test edx, edx
jge 0x10053f15
mov edx, dword [esp + 0x18]
mov byte [esp + edx + 0x10], 0
jmp 0x10053f28
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], 0xff
jmp 0x10053f28
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], dl
test eax, 0xffffff00
je 0x10053f41
test eax, eax
jge 0x10053f3a
mov byte [esp + edi + 0x10], 0
jmp 0x10053f45
mov byte [esp + edi + 0x10], 0xff
jmp 0x10053f45
mov byte [esp + edi + 0x10], al
mov edx, dword [esp + 0x20]
mov ebp, dword [esp + 0x70]
mov ecx, dword [esp + 0x80]
mov esi, dword [esp + 0x7c]
mov byte [edx], 0xff
mov eax, dword [esp + 0x10]
mov dword [ebp + ecx*2], eax
jmp 0x10053fb2
mov eax, dword [esp + 0x90]
test eax, eax
je 0x10053fb2
test esi, esi
je 0x10053f79
test bl, 8
je 0x10053fb2
mov edx, dword [esp + 0x14]
mov al, byte [esp + 0x78]
mov ecx, dword [esp + 0x18]
mov byte [esp + edx + 0x10], al
mov dl, byte [esp + 0x68]
mov al, byte [esp + 0x94]
mov byte [esp + ecx + 0x10], dl
mov ecx, dword [esp + 0x20]
mov byte [esp + edi + 0x10], al
mov eax, dword [esp + 0x80]
mov byte [ecx], 0
mov edx, dword [esp + 0x10]
mov dword [ebp + eax*2], edx
test byte [esp + 0x98], 4
je 0x1005409d
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x74]
mov esi, dword [esp + 0x88]
xor eax, eax
mov al, byte [ecx + edx*2 + 1]
mov ecx, dword [esp + 0x84]
mov edx, dword [0x10093088]
add ecx, eax
lea ebp, [esi + eax]
mov esi, dword [0x100930c8]
add ebp, esi
add ecx, edx
add ebp, edx
mov ecx, dword [ecx*4 + 0x100a70e0]
mov edx, dword [ebp*4 + 0x100a7a60]
mov ebp, dword [esp + 0x24]
add ebp, eax
add ebp, esi
test ecx, 0xffffff00
mov eax, dword [ebp*4 + 0x100a82a0]
je 0x1005402e
test ecx, ecx
mov ecx, dword [esp + 0x14]
jge 0x10054027
mov byte [esp + ecx + 0x10], 0
jmp 0x10054036
mov byte [esp + ecx + 0x10], 0xff
jmp 0x10054036
mov esi, dword [esp + 0x14]
mov byte [esp + esi + 0x10], cl
test edx, 0xffffff00
je 0x10054058
test edx, edx
jge 0x1005404d
mov edx, dword [esp + 0x18]
mov byte [esp + edx + 0x10], 0
jmp 0x10054060
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], 0xff
jmp 0x10054060
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], dl
test eax, 0xffffff00
je 0x10054079
test eax, eax
jge 0x10054072
mov byte [esp + edi + 0x10], 0
jmp 0x1005407d
mov byte [esp + edi + 0x10], 0xff
jmp 0x1005407d
mov byte [esp + edi + 0x10], al
mov edx, dword [esp + 0x20]
mov ebp, dword [esp + 0x70]
mov ecx, dword [esp + 0x80]
mov esi, dword [esp + 0x7c]
mov byte [edx], 0xff
mov eax, dword [esp + 0x10]
mov dword [ebp + ecx*2 + 4], eax
jmp 0x100540ea
mov eax, dword [esp + 0x90]
test eax, eax
je 0x100540ea
test esi, esi
je 0x100540b1
test bl, 4
je 0x100540ea
mov eax, dword [esp + 0x14]
mov dl, byte [esp + 0x78]
mov cl, byte [esp + 0x68]
mov byte [esp + eax + 0x10], dl
mov edx, dword [esp + 0x18]
mov al, byte [esp + 0x94]
mov byte [esp + edx + 0x10], cl
mov ecx, dword [esp + 0x20]
mov byte [esp + edi + 0x10], al
mov eax, dword [esp + 0x80]
mov byte [ecx], 0
mov edx, dword [esp + 0x10]
mov dword [ebp + eax*2 + 4], edx
test byte [esp + 0x98], 2
je 0x100541d5
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x74]
mov esi, dword [esp + 0x88]
xor eax, eax
mov al, byte [ecx + edx*2 + 2]
mov ecx, dword [esp + 0x84]
mov edx, dword [0x1009308c]
add ecx, eax
lea ebp, [esi + eax]
mov esi, dword [0x100930cc]
add ebp, esi
add ecx, edx
add ebp, edx
mov ecx, dword [ecx*4 + 0x100a70e0]
mov edx, dword [ebp*4 + 0x100a7a60]
mov ebp, dword [esp + 0x24]
add ebp, eax
add ebp, esi
test ecx, 0xffffff00
mov eax, dword [ebp*4 + 0x100a82a0]
je 0x10054166
test ecx, ecx
mov ecx, dword [esp + 0x14]
jge 0x1005415f
mov byte [esp + ecx + 0x10], 0
jmp 0x1005416e
mov byte [esp + ecx + 0x10], 0xff
jmp 0x1005416e
mov esi, dword [esp + 0x14]
mov byte [esp + esi + 0x10], cl
test edx, 0xffffff00
je 0x10054190
test edx, edx
jge 0x10054185
mov edx, dword [esp + 0x18]
mov byte [esp + edx + 0x10], 0
jmp 0x10054198
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], 0xff
jmp 0x10054198
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], dl
test eax, 0xffffff00
je 0x100541b1
test eax, eax
jge 0x100541aa
mov byte [esp + edi + 0x10], 0
jmp 0x100541b5
mov byte [esp + edi + 0x10], 0xff
jmp 0x100541b5
mov byte [esp + edi + 0x10], al
mov edx, dword [esp + 0x20]
mov ebp, dword [esp + 0x70]
mov ecx, dword [esp + 0x80]
mov esi, dword [esp + 0x7c]
mov byte [edx], 0xff
mov eax, dword [esp + 0x10]
mov dword [ebp + ecx*2 + 8], eax
jmp 0x10054222
mov eax, dword [esp + 0x90]
test eax, eax
je 0x10054222
test esi, esi
je 0x100541e9
test bl, 2
je 0x10054222
mov eax, dword [esp + 0x14]
mov dl, byte [esp + 0x78]
mov cl, byte [esp + 0x68]
mov byte [esp + eax + 0x10], dl
mov edx, dword [esp + 0x18]
mov al, byte [esp + 0x94]
mov byte [esp + edx + 0x10], cl
mov ecx, dword [esp + 0x20]
mov byte [esp + edi + 0x10], al
mov eax, dword [esp + 0x80]
mov byte [ecx], 0
mov edx, dword [esp + 0x10]
mov dword [ebp + eax*2 + 8], edx
test byte [esp + 0x98], 1
je 0x10054309
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x74]
mov esi, dword [esp + 0x88]
xor eax, eax
mov al, byte [ecx + edx*2 + 3]
mov ecx, dword [esp + 0x84]
mov edx, dword [0x10093090]
add ecx, eax
lea ebx, [esi + eax]
mov esi, dword [0x100930d0]
add ebx, esi
add ecx, edx
add ebx, edx
mov ecx, dword [ecx*4 + 0x100a70e0]
mov edx, dword [ebx*4 + 0x100a7a60]
mov ebx, dword [esp + 0x24]
add ebx, eax
add ebx, esi
test ecx, 0xffffff00
mov eax, dword [ebx*4 + 0x100a82a0]
je 0x1005429e
test ecx, ecx
mov ecx, dword [esp + 0x14]
jge 0x10054297
mov byte [esp + ecx + 0x10], 0
jmp 0x100542a6
mov byte [esp + ecx + 0x10], 0xff
jmp 0x100542a6
mov esi, dword [esp + 0x14]
mov byte [esp + esi + 0x10], cl
test edx, 0xffffff00
je 0x100542c8
test edx, edx
jge 0x100542bd
mov edx, dword [esp + 0x18]
mov byte [esp + edx + 0x10], 0
jmp 0x100542d0
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], 0xff
jmp 0x100542d0
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], dl
test eax, 0xffffff00
je 0x100542e9
test eax, eax
jge 0x100542e2
mov byte [esp + edi + 0x10], 0
jmp 0x100542ed
mov byte [esp + edi + 0x10], 0xff
jmp 0x100542ed
mov byte [esp + edi + 0x10], al
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x80]
mov esi, dword [esp + 0x7c]
mov byte [edx], 0xff
mov eax, dword [esp + 0x10]
mov dword [ebp + ecx*2 + 0xc], eax
jmp 0x10054356
mov eax, dword [esp + 0x90]
test eax, eax
je 0x10054356
test esi, esi
je 0x1005431d
test bl, 1
je 0x10054356
mov eax, dword [esp + 0x14]
mov dl, byte [esp + 0x78]
mov cl, byte [esp + 0x68]
mov byte [esp + eax + 0x10], dl
mov edx, dword [esp + 0x18]
mov al, byte [esp + 0x94]
mov byte [esp + edx + 0x10], cl
mov ecx, dword [esp + 0x20]
mov byte [esp + edi + 0x10], al
mov eax, dword [esp + 0x80]
mov byte [ecx], 0
mov edx, dword [esp + 0x10]
mov dword [ebp + eax*2 + 0xc], edx
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x28]
test edx, edx
mov al, byte [ecx + eax]
je 0x1005436d
and al, 0xf
jmp 0x10054370
shr al, 4
test esi, esi
mov byte [esp + 0x98], al
je 0x1005438c
mov bl, byte [ecx + esi]
test edx, edx
je 0x10054387
and bl, 0xf
jmp 0x1005438e
shr bl, 4
jmp 0x1005438e
xor bl, bl
test byte [esp + 0x98], 8
je 0x10054475
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x88]
xor eax, eax
mov al, byte [ecx + edx]
mov ecx, dword [esp + 0x84]
mov edx, dword [0x10093094]
add ecx, eax
lea ebp, [esi + eax]
mov esi, dword [0x100930d4]
add ebp, esi
add ecx, edx
add ebp, edx
mov ecx, dword [ecx*4 + 0x100a70e0]
mov edx, dword [ebp*4 + 0x100a7a60]
mov ebp, dword [esp + 0x24]
add ebp, eax
add ebp, esi
test ecx, 0xffffff00
mov eax, dword [ebp*4 + 0x100a82a0]
je 0x10054409
test ecx, ecx
mov ecx, dword [esp + 0x14]
jge 0x10054402
mov byte [esp + ecx + 0x10], 0
jmp 0x10054411
mov byte [esp + ecx + 0x10], 0xff
jmp 0x10054411
mov esi, dword [esp + 0x14]
mov byte [esp + esi + 0x10], cl
test edx, 0xffffff00
je 0x10054433
test edx, edx
jge 0x10054428
mov edx, dword [esp + 0x18]
mov byte [esp + edx + 0x10], 0
jmp 0x1005443b
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], 0xff
jmp 0x1005443b
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], dl
test eax, 0xffffff00
je 0x10054454
test eax, eax
jge 0x1005444d
mov byte [esp + edi + 0x10], 0
jmp 0x10054458
mov byte [esp + edi + 0x10], 0xff
jmp 0x10054458
mov byte [esp + edi + 0x10], al
mov edx, dword [esp + 0x20]
mov ebp, dword [esp + 0x70]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x7c]
mov byte [edx], 0xff
mov eax, dword [esp + 0x10]
mov dword [ebp + ecx], eax
jmp 0x100544bf
mov eax, dword [esp + 0x90]
test eax, eax
je 0x100544bf
test esi, esi
je 0x10054489
test bl, 8
je 0x100544bf
mov edx, dword [esp + 0x14]
mov al, byte [esp + 0x78]
mov ecx, dword [esp + 0x18]
mov byte [esp + edx + 0x10], al
mov dl, byte [esp + 0x68]
mov al, byte [esp + 0x94]
mov byte [esp + ecx + 0x10], dl
mov ecx, dword [esp + 0x20]
mov byte [esp + edi + 0x10], al
mov eax, dword [esp + 0x2c]
mov byte [ecx], 0
mov edx, dword [esp + 0x10]
mov dword [ebp + eax], edx
test byte [esp + 0x98], 4
je 0x100545a7
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x88]
xor eax, eax
mov al, byte [ecx + edx + 1]
mov ecx, dword [esp + 0x84]
mov edx, dword [0x10093098]
add ecx, eax
lea ebp, [esi + eax]
mov esi, dword [0x100930d8]
add ebp, esi
add ecx, edx
add ebp, edx
mov ecx, dword [ecx*4 + 0x100a70e0]
mov edx, dword [ebp*4 + 0x100a7a60]
mov ebp, dword [esp + 0x24]
add ebp, eax
add ebp, esi
test ecx, 0xffffff00
mov eax, dword [ebp*4 + 0x100a82a0]
je 0x1005453b
test ecx, ecx
mov ecx, dword [esp + 0x14]
jge 0x10054534
mov byte [esp + ecx + 0x10], 0
jmp 0x10054543
mov byte [esp + ecx + 0x10], 0xff
jmp 0x10054543
mov esi, dword [esp + 0x14]
mov byte [esp + esi + 0x10], cl
test edx, 0xffffff00
je 0x10054565
test edx, edx
jge 0x1005455a
mov edx, dword [esp + 0x18]
mov byte [esp + edx + 0x10], 0
jmp 0x1005456d
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], 0xff
jmp 0x1005456d
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], dl
test eax, 0xffffff00
je 0x10054586
test eax, eax
jge 0x1005457f
mov byte [esp + edi + 0x10], 0
jmp 0x1005458a
mov byte [esp + edi + 0x10], 0xff
jmp 0x1005458a
mov byte [esp + edi + 0x10], al
mov edx, dword [esp + 0x20]
mov ebp, dword [esp + 0x70]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x7c]
mov byte [edx], 0xff
mov eax, dword [esp + 0x10]
mov dword [ecx + ebp + 4], eax
jmp 0x100545f1
mov eax, dword [esp + 0x90]
test eax, eax
je 0x100545f1
test esi, esi
je 0x100545bb
test bl, 4
je 0x100545f1
mov eax, dword [esp + 0x14]
mov dl, byte [esp + 0x78]
mov cl, byte [esp + 0x68]
mov byte [esp + eax + 0x10], dl
mov edx, dword [esp + 0x18]
mov al, byte [esp + 0x94]
mov byte [esp + edx + 0x10], cl
mov ecx, dword [esp + 0x20]
mov byte [esp + edi + 0x10], al
mov eax, dword [esp + 0x2c]
mov byte [ecx], 0
mov edx, dword [esp + 0x10]
mov dword [eax + ebp + 4], edx
test byte [esp + 0x98], 2
je 0x100546d9
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x88]
xor eax, eax
mov al, byte [ecx + edx + 2]
mov ecx, dword [esp + 0x84]
mov edx, dword [0x1009309c]
add ecx, eax
lea ebp, [esi + eax]
mov esi, dword [0x100930dc]
add ebp, esi
add ecx, edx
add ebp, edx
mov ecx, dword [ecx*4 + 0x100a70e0]
mov edx, dword [ebp*4 + 0x100a7a60]
mov ebp, dword [esp + 0x24]
add ebp, eax
add ebp, esi
test ecx, 0xffffff00
mov eax, dword [ebp*4 + 0x100a82a0]
je 0x1005466d
test ecx, ecx
mov ecx, dword [esp + 0x14]
jge 0x10054666
mov byte [esp + ecx + 0x10], 0
jmp 0x10054675
mov byte [esp + ecx + 0x10], 0xff
jmp 0x10054675
mov esi, dword [esp + 0x14]
mov byte [esp + esi + 0x10], cl
test edx, 0xffffff00
je 0x10054697
test edx, edx
jge 0x1005468c
mov edx, dword [esp + 0x18]
mov byte [esp + edx + 0x10], 0
jmp 0x1005469f
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], 0xff
jmp 0x1005469f
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], dl
test eax, 0xffffff00
je 0x100546b8
test eax, eax
jge 0x100546b1
mov byte [esp + edi + 0x10], 0
jmp 0x100546bc
mov byte [esp + edi + 0x10], 0xff
jmp 0x100546bc
mov byte [esp + edi + 0x10], al
mov edx, dword [esp + 0x20]
mov ebp, dword [esp + 0x70]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x7c]
mov byte [edx], 0xff
mov eax, dword [esp + 0x10]
mov dword [ecx + ebp + 8], eax
jmp 0x10054723
mov eax, dword [esp + 0x90]
test eax, eax
je 0x10054723
test esi, esi
je 0x100546ed
test bl, 2
je 0x10054723
mov eax, dword [esp + 0x14]
mov dl, byte [esp + 0x78]
mov cl, byte [esp + 0x68]
mov byte [esp + eax + 0x10], dl
mov edx, dword [esp + 0x18]
mov al, byte [esp + 0x94]
mov byte [esp + edx + 0x10], cl
mov ecx, dword [esp + 0x20]
mov byte [esp + edi + 0x10], al
mov eax, dword [esp + 0x2c]
mov byte [ecx], 0
mov edx, dword [esp + 0x10]
mov dword [eax + ebp + 8], edx
test byte [esp + 0x98], 1
je 0x10054807
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x88]
xor eax, eax
mov al, byte [ecx + edx + 3]
mov ecx, dword [esp + 0x84]
mov edx, dword [0x100930a0]
add ecx, eax
lea ebx, [esi + eax]
mov esi, dword [0x100930e0]
add ebx, esi
add ecx, edx
add ebx, edx
mov ecx, dword [ecx*4 + 0x100a70e0]
mov edx, dword [ebx*4 + 0x100a7a60]
mov ebx, dword [esp + 0x24]
add ebx, eax
add ebx, esi
test ecx, 0xffffff00
mov eax, dword [ebx*4 + 0x100a82a0]
je 0x1005479f
test ecx, ecx
mov ecx, dword [esp + 0x14]
jge 0x10054798
mov byte [esp + ecx + 0x10], 0
jmp 0x100547a7
mov byte [esp + ecx + 0x10], 0xff
jmp 0x100547a7
mov esi, dword [esp + 0x14]
mov byte [esp + esi + 0x10], cl
test edx, 0xffffff00
je 0x100547c9
test edx, edx
jge 0x100547be
mov edx, dword [esp + 0x18]
mov byte [esp + edx + 0x10], 0
jmp 0x100547d1
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], 0xff
jmp 0x100547d1
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x10], dl
test eax, 0xffffff00
je 0x100547ea
test eax, eax
jge 0x100547e3
mov byte [esp + edi + 0x10], 0
jmp 0x100547ee
mov byte [esp + edi + 0x10], 0xff
jmp 0x100547ee
mov byte [esp + edi + 0x10], al
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x7c]
mov byte [edx], 0xff
mov eax, dword [esp + 0x10]
mov dword [ecx + ebp + 0xc], eax
jmp 0x10054851
mov eax, dword [esp + 0x90]
test eax, eax
je 0x10054851
test esi, esi
je 0x1005481b
test bl, 1
je 0x10054851
mov eax, dword [esp + 0x14]
mov dl, byte [esp + 0x78]
mov cl, byte [esp + 0x68]
mov byte [esp + eax + 0x10], dl
mov edx, dword [esp + 0x18]
mov al, byte [esp + 0x94]
mov byte [esp + edx + 0x10], cl
mov ecx, dword [esp + 0x20]
mov byte [esp + edi + 0x10], al
mov eax, dword [esp + 0x2c]
mov byte [ecx], 0
mov edx, dword [esp + 0x10]
mov dword [eax + ebp + 0xc], edx
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x10054866
test esi, esi
je 0x10054862
inc esi
mov dword [esp + 0x7c], esi
inc dword [esp + 0x28]
xor ecx, ecx
mov ebx, dword [esp + 0x30]
test eax, eax
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
sete cl
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x1c]
add ecx, 4
add eax, 4
add ebp, 0x10
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x64]
inc ebx
inc edx
cmp eax, ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x70], ebp
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], edx
jb 0x10053418
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x34]
add esi, edx
mov edx, dword [esp + 0x30]
add edx, eax
add ecx, eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x1c], esi
test eax, eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], ecx
je 0x100548e8
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x7c]
add ecx, eax
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x54]
mov ebp, dword [esp + 0x28]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x58]
mov esi, dword [esp + 0x70]
add ebp, ecx
mov ecx, dword [esp + 0x60]
add eax, 4
add esi, edx
cmp eax, ecx
mov dword [esp + 0x28], ebp
mov dword [esp + 0x44], eax
mov dword [esp + 0x70], esi
jb 0x100533f1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret