Function at 0x1009c360
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x90
push ebx
push ebp
xor ebx, ebx
xor eax, eax
push esi
push edi
mov edi, dword [esp + 0xa4]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov eax, dword [edi]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x50], eax
cmp dword [edi + 0x40], ebx
jne 0x1009d8bd
cmp byte [eax + 0x1e], bl
jne 0x1009d8bd
mov eax, dword [esp + 0xa8]
push edi
call fcn.10085e10
mov ebp, eax
add esp, 4
mov dword [esp + 0x18], ebp
cmp ebp, ebx
je 0x1009d8bd
mov esi, dword [ebp + 0x40]
mov ecx, dword [edi]
call fcn.10092de0
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x70]
push eax
push ecx
push 0x6b
push edi
mov eax, ebp
call fcn.1009b9e0
xor edx, edx
cmp dword [ebp + 0x18], ebx
push ebp
setne dl
push edi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x80], edx
call fcn.10082c00
add esp, 0x18
test eax, eax
jne 0x1009d8bd
mov eax, dword [esp + 0x70]
push eax
mov ecx, ebp
mov eax, edi
call fcn.10085e70
add esp, 4
test eax, eax
jne 0x1009d8bd
mov ecx, dword [ebp + 8]
mov esi, dword [esp + 0x50]
add ecx, ecx
add ecx, ecx
call fcn.10053c90
mov ecx, eax
mov dword [esp + 0x38], ecx
cmp ecx, ebx
je 0x1009d8bd
xor eax, eax
cmp dword [ebp + 8], ebx
jle 0x1009c46d
jmp 0x1009c460
mov dword [ecx + eax*4], 0xffffffff
inc eax
cmp eax, dword [ebp + 8]
jl 0x1009c460
mov eax, dword [edi + 0x44]
mov edx, dword [esp + 0xa8]
mov dword [edx + 0x20], eax
inc dword [edi + 0x44]
mov ecx, dword [edi + 0x44]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x10]
cmp eax, ebx
je 0x1009c49b
jmp 0x1009c490
inc ecx
mov dword [edi + 0x44], ecx
mov eax, dword [eax + 0x20]
cmp eax, ebx
jne 0x1009c490
mov ecx, dword [esp + 0xac]
xor eax, eax
cmp dword [ecx], ebx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], edx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x14], ebx
jle 0x1009c6d4
mov dword [esp + 0x1c], ebx
nop
mov edx, dword [esp + 0xac]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [ecx + eax]
lea esi, [esp + 0x7c]
call fcn.10078530
test eax, eax
jne 0x1009d8bb
xor ebx, ebx
cmp dword [ebp + 8], ebx
mov dword [esp + 0x30], ebx
jle 0x1009c5ca
mov edx, dword [esp + 0xac]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax + ecx + 4]
mov esi, dword [ebp + 0xc]
add eax, ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x34], edx
mov ecx, dword [esi]
mov al, byte [ecx]
mov edx, dword [esp + 0x34]
test al, al
je 0x1009c581
lea esp, [esp]
movzx ebx, byte [edx]
movzx eax, al
mov al, byte [eax + 0x100d90e8]
cmp al, byte [ebx + 0x100d90e8]
jne 0x1009c57d
mov al, byte [ecx + 1]
inc ecx
inc edx
test al, al
jne 0x1009c560
mov ebx, dword [esp + 0x30]
movzx edx, byte [edx]
movzx ecx, byte [ecx]
movzx eax, byte [edx + 0x100d90e8]
movzx edx, byte [ecx + 0x100d90e8]
sub edx, eax
je 0x1009c5a8
inc ebx
add esi, 0x18
cmp ebx, dword [ebp + 8]
mov dword [esp + 0x30], ebx
jl 0x1009c550
jmp 0x1009c5ca
cmp ebx, dword [ebp + 4]
jne 0x1009c5bf
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax]
mov dword [esp + 0x44], 1
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x14]
mov dword [edx + ebx*4], eax
cmp ebx, dword [ebp + 8]
jl 0x1009c670
mov ecx, dword [esp + 0xac]
mov edx, dword [ecx + 0xc]
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + edx + 4]
mov cl, byte [esi]
lea ebp, [eax + edx]
mov eax, esi
mov edx, str._ROWID_
test cl, cl
je 0x1009c621
jmp 0x1009c600
movzx ebx, byte [edx]
movzx ecx, cl
mov cl, byte [ecx + 0x100d90e8]
cmp cl, byte [ebx + 0x100d90e8]
jne 0x1009c61d
mov cl, byte [eax + 1]
inc eax
inc edx
test cl, cl
jne 0x1009c600
mov ebx, dword [esp + 0x30]
movzx edx, byte [edx]
movzx ecx, byte [edx + 0x100d90e8]
movzx edx, byte [eax]
movzx eax, byte [edx + 0x100d90e8]
sub eax, ecx
je 0x1009c65d
mov edx, str.ROWID
mov ecx, esi
call fcn.10055b10
test eax, eax
je 0x1009c65d
mov edx, 0x100e2f64
mov ecx, esi
call fcn.10055b10
test eax, eax
jne 0x1009c6f8
mov ecx, dword [ebp]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x44], 1
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x5c]
shl edx, 4
mov edx, dword [edx + ecx]
mov ecx, dword [ebp + 0xc]
push edx
lea eax, [ebx + ebx*2]
mov edx, dword [ecx + eax*8]
mov eax, dword [ebp]
push edx
push eax
push 0x17
mov eax, edi
call fcn.100805a0
add esp, 0x10
cmp eax, 1
je 0x1009d8bb
cmp eax, 2
jne 0x1009c6b5
mov ecx, dword [esp + 0x38]
mov dword [ecx + ebx*4], 0xffffffff
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0xac]
add dword [esp + 0x1c], 0x14
inc eax
cmp eax, dword [edx]
mov dword [esp + 0x14], eax
jl 0x1009c500
xor ebx, ebx
mov ecx, dword [edi]
test dword [ecx + 0xc], 0x4000000
je 0x1009c724
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x38]
push edx
push eax
push ebp
call fcn.1008aa80
add esp, 0xc
mov dword [esp + 0x30], eax
jmp 0x1009c728
mov ecx, dword [esp + 0xac]
mov eax, dword [esp + 0x14]
mov edx, dword [ecx + 0xc]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 + 4]
push eax
push str.no_such_column:__s
call fcn.10055a10
add esp, 8
mov byte [edi + 0x12], 1
jmp 0x1009d8bb
mov dword [esp + 0x30], ebx
mov eax, dword [ebp + 0x10]
xor ecx, ecx
cmp eax, ebx
je 0x1009c758
mov eax, dword [eax + 0x20]
inc ecx
cmp eax, ebx
jne 0x1009c731
cmp ecx, ebx
jle 0x1009c758
mov esi, dword [esp + 0x50]
add ecx, ecx
add ecx, ecx
call fcn.10053c90
mov dword [esp + 0x4c], eax
cmp eax, ebx
je 0x1009d8bd
jmp 0x1009c75c
mov eax, dword [esp + 0x4c]
mov esi, dword [ebp + 0x10]
cmp esi, ebx
je 0x1009c7c2
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x44], ebx
je 0x1009c772
inc dword [edi + 0x48]
jmp 0x1009c7ab
mov edx, dword [esi + 4]
xor ebp, ebp
xor eax, eax
cmp edx, ebx
jle 0x1009c7ae
mov ecx, dword [esi + 8]
mov edi, dword [esp + 0x38]
mov ebx, dword [ecx]
cmp dword [edi + ebx*4], 0
jge 0x1009c79f
inc eax
add ecx, 4
cmp eax, edx
jl 0x1009c784
mov edi, dword [esp + 0xa4]
xor ebx, ebx
jmp 0x1009c7ae
mov edi, dword [esp + 0xa4]
inc dword [edi + 0x48]
xor ebx, ebx
mov ebp, dword [edi + 0x48]
mov eax, dword [esp + 0x1c]
mov dword [eax], ebp
mov esi, dword [esi + 0x20]
add eax, 4
mov dword [esp + 0x1c], eax
cmp esi, ebx
jne 0x1009c767
mov edi, dword [esp + 0xa4]
mov ebp, dword [edi + 0xc]
cmp ebp, ebx
jne 0x1009c905
mov esi, dword [edi]
cmp esi, ebx
je 0x1009c828
cmp byte [esi + 0x1e], bl
jne 0x1009c99d
cmp byte [esi + 0xea], bl
je 0x1009c828
mov ecx, pe_nt_image_headers32
cmp cx, word [esi + 0xe8]
ja 0x1009c828
mov ebp, dword [esi + 0xf4]
cmp ebp, ebx
je 0x1009c828
mov edx, dword [ebp]
inc dword [esi + 0xec]
mov eax, dword [esi + 0xec]
cmp eax, dword [esi + 0xf0]
mov dword [esi + 0xf4], edx
jle 0x1009c87c
mov dword [esi + 0xf0], eax
jmp 0x1009c87c
cmp dword [0x100fc4f8], ebx
je 0x1009c98a
mov eax, dword [0x100ff0b0]
cmp eax, ebx
je 0x1009c847
push eax
call dword [0x100fc540]
add esp, 4
lea ebx, [esp + 0x1c]
mov eax, pe_nt_image_headers32
call fcn.100535d0
mov eax, dword [0x100ff0b0]
test eax, eax
je 0x1009c868
push eax
call dword [0x100fc548]
add esp, 4
mov eax, dword [esp + 0x1c]
xor ebx, ebx
cmp eax, ebx
jne 0x1009c87a
cmp esi, ebx
je 0x1009c87a
mov byte [esi + 0x1e], 1
mov ebp, eax
cmp ebp, ebx
je 0x1009c99d
push pe_nt_image_headers32
push ebx
push ebp
call sub.MSVCR90.dll_memset
mov dword [ebp], esi
mov eax, dword [esi + 0x88]
add esp, 0xc
cmp eax, ebx
je 0x1009c8a3
mov dword [eax + 4], ebp
mov eax, dword [esi + 0x88]
mov dword [ebp + 8], eax
mov dword [ebp + 4], ebx
mov dword [esi + 0x88], ebp
mov dword [ebp + 0x44], 0x26bceaa5
mov dword [edi + 0xc], ebp
cmp ebp, ebx
je 0x1009d8bd
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1009c8da
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1009c8fe
mov edx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov byte [eax], 0x87
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov edi, dword [esp + 0xa4]
cmp byte [edi + 0x13], bl
jne 0x1009c90e
mov byte [ebp + 0x61], 1
mov esi, dword [edi + 0x1a8]
cmp esi, ebx
jne 0x1009c91a
mov esi, edi
mov eax, dword [esp + 0x5c]
push eax
mov eax, edi
call fcn.10084f10
mov ecx, dword [esp + 0x60]
or byte [esi + 0x158], 1
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x1c]
add esp, 4
or dword [esi + 0x150], edx
test byte [ecx + 0x1e], 0x10
je 0x1009c9a4
mov eax, dword [esp + 0xb0]
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0xb4]
push eax
mov eax, dword [esp + 0xb4]
push edx
push ecx
push eax
push edi
call fcn.1009d930
add esp, 0x1c
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xa8], ebx
jmp 0x1009d8bd
push pe_nt_image_headers32
call dword [0x100fc510]
add esp, 4
jmp 0x1009c86e
xor ebp, ebp
jmp 0x1009c8bc
inc dword [edi + 0x48]
mov eax, dword [edi + 0x48]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2c], eax
cmp edx, ebx
jne 0x1009c9c0
cmp dword [esp + 0x30], ebx
je 0x1009c9cf
lea esi, [eax + 1]
mov dword [esp + 0x58], esi
mov esi, dword [ecx + 8]
add esi, eax
mov dword [edi + 0x48], esi
cmp dword [esp + 0x44], ebx
jne 0x1009c9df
cmp edx, ebx
jne 0x1009c9df
cmp dword [esp + 0x30], ebx
je 0x1009c9e9
inc dword [edi + 0x48]
mov edx, dword [edi + 0x48]
mov dword [esp + 0x1c], edx
mov eax, dword [edi + 0x48]
lea edx, [eax + 1]
mov dword [esp + 0x48], edx
mov edx, dword [ecx + 8]
lea eax, [eax + edx + 1]
mov dword [edi + 0x48], eax
cmp dword [esp + 0x68], ebx
je 0x1009ca33
mov edx, dword [edi + 0x208]
mov eax, dword [ecx]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x24]
push edx
mov dword [edi + 0x208], eax
mov eax, dword [esp + 0xb4]
push eax
push ecx
push edi
mov dword [esp + 0x88], edi
call fcn.10085f00
add esp, 0x10
mov ebx, dword [esp + 0xb0]
lea esi, [esp + 0x7c]
call fcn.10078530
test eax, eax
jne 0x1009d8bb
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1009ca5e
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1009ca8a
mov edx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
xor ebx, ebx
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x2c]
mov byte [eax], 0xa
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
jmp 0x1009ca8c
xor ebx, ebx
mov edx, dword [esp + 0xb0]
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xa4]
push 4
push ebx
push edx
push eax
push ecx
call fcn.100a3e80
add esp, 0x14
mov dword [esp + 0x20], eax
cmp eax, ebx
je 0x1009d8bb
movzx esi, byte [eax + 6]
mov ebx, dword [ebp + 0xc]
cmp dword [ebp + 0x10], ebx
mov dword [esp + 0x34], esi
jg 0x1009cad6
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1009cb06
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x24]
lea edx, [ebx + ebx*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x2c]
xor ebx, ebx
mov byte [eax], 0x3d
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
jmp 0x1009cb08
xor ebx, ebx
cmp esi, ebx
mov esi, dword [esp + 0xa4]
jne 0x1009cb64
inc dword [esi + 0x48]
mov eax, dword [esi + 0x48]
mov dword [esp + 0x6c], eax
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x3c], eax
jg 0x1009cb38
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1009cb64
mov eax, dword [esp + 0x3c]
mov edx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x2c]
mov byte [eax], 0x69
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov eax, dword [esp + 0x20]
push eax
call fcn.100a4a80
mov ecx, dword [esp + 0x54]
add esp, 4
test dword [ecx + 0xc], 0x1000
je 0x1009cbd3
cmp dword [esi + 0x1ac], ebx
jne 0x1009cbd3
inc dword [esi + 0x48]
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov edx, dword [esi + 0x48]
mov dword [esp + 0x64], edx
mov dword [esp + 0x3c], eax
jg 0x1009cbab
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1009cbd3
mov eax, dword [esp + 0x3c]
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x64]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax], 7
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
cmp dword [esp + 0x68], ebx
jne 0x1009cd36
mov edi, dword [esp + 0x18]
cmp dword [esp + 0x34], ebx
jne 0x1009cbff
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x24]
push 0x27
push eax
push ecx
mov eax, edi
mov ecx, esi
call fcn.1008b690
add esp, 0xc
mov ecx, 5
cmp dword [esp + 0xb4], ecx
je 0x1009cc26
mov eax, dword [edi + 0x10]
mov dword [esp + 0x60], ebx
cmp eax, ebx
je 0x1009cc2e
cmp byte [eax + 0x18], cl
je 0x1009cc26
mov eax, dword [eax + 0x20]
cmp eax, ebx
jne 0x1009cc18
jmp 0x1009cc2e
mov dword [esp + 0x60], 1
mov eax, dword [edi + 0x10]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], eax
cmp eax, ebx
je 0x1009cd36
cmp dword [esp + 0x60], ebx
jne 0x1009cc58
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x14]
cmp dword [edx + eax*4], ebx
jle 0x1009cd1f
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0xa4]
push esi
push ecx
call fcn.10085410
mov edx, dword [esi + 0x14]
mov esi, dword [ebp + 0xc]
add esp, 8
cmp dword [ebp + 0x10], esi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x28], edx
jg 0x1009cc92
mov edi, ebp
call fcn.1006c560
test eax, eax
je 0x1009cc92
mov esi, 1
jmp 0x1009ccca
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x24]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x14]
lea edx, [edx + ecx + 1]
mov ecx, dword [esp + 0x28]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x5c]
mov byte [eax], 0x27
mov byte [eax + 3], bl
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov ecx, dword [ebp + 0x14]
mov edi, dword [ebp]
mov eax, esi
cmp ecx, ebx
je 0x1009cd11
cmp byte [edi + 0x1e], bl
jne 0x1009cd11
cmp esi, ebx
jge 0x1009cce3
mov eax, dword [ebp + 0xc]
dec eax
lea eax, [eax + eax*4]
lea esi, [ecx + eax*4]
movsx eax, byte [esi + 1]
mov ecx, dword [esi + 0x10]
call fcn.1006ca30
mov eax, dword [esp + 0x3c]
mov dword [esi + 0x10], ebx
cmp eax, ebx
jne 0x1009cd08
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x1009cd1f
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xfa
jmp 0x1009cd1f
mov ecx, dword [esp + 0x3c]
mov eax, 0xfffffff0
call fcn.1006ca30
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x20]
inc dword [esp + 0x14]
mov dword [esp + 0x20], eax
cmp eax, ebx
jne 0x1009cc41
mov esi, dword [ebp + 0xc]
cmp dword [esp + 0x34], ebx
je 0x1009cde2
cmp dword [ebp + 0x10], esi
jg 0x1009cd5d
mov edi, ebp
call fcn.1006c560
test eax, eax
je 0x1009cd5d
mov dword [esp + 0x34], 1
jmp 0x1009cd89
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x2c]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x4a
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov dword [esp + 0x34], esi
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1009cda3
mov edi, ebp
call fcn.1006c560
test eax, eax
je 0x1009cda3
mov esi, 1
jmp 0x1009cdc7
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 1
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x34]
cmp eax, ecx
mov dword [esp + 0x20], esi
jle 0x1009ce2c
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
jmp 0x1009ce2c
cmp dword [ebp + 0x10], esi
jg 0x1009cdfc
mov edi, ebp
call fcn.1006c560
test eax, eax
je 0x1009cdfc
mov dword [esp + 0x20], 1
jmp 0x1009ce2c
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x6c]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x2c]
mov byte [eax], 0x6a
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov dword [esp + 0x20], esi
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1009ce3f
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1009ce6f
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x24]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x20]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x2c]
mov byte [eax], 0x34
mov byte [eax + 3], bl
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
cmp dword [esp + 0x44], ebx
je 0x1009cf1a
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0xa4]
push esi
push edx
push edi
call fcn.1007b550
add esp, 0xc
mov dword [esp + 0x28], eax
cmp eax, esi
je 0x1009cedf
mov edi, dword [edi + 0xc]
cmp edi, ebx
je 0x1009cedf
mov esi, dword [edi + 0xc]
cmp dword [edi + 0x10], esi
jg 0x1009ceb3
call fcn.1006c560
test eax, eax
jne 0x1009cedf
mov ecx, dword [edi + 0x14]
inc dword [edi + 0xc]
mov edx, dword [esp + 0x28]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x1c]
mov byte [eax], 0xf
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [edi + 0x62], bl
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1009cef2
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1009cf1a
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x1c]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x15
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
cmp dword [esp + 0x30], ebx
jne 0x1009cf74
cmp dword [esp + 0x54], ebx
je 0x1009d11b
mov dword [esp + 0x40], ebx
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xac]
mov eax, dword [esp + 0xa4]
push ecx
push 3
push ebx
mov ebx, dword [esp + 0x24]
push edx
push eax
mov eax, dword [esp + 0x68]
call fcn.1009c1f0
mov edx, dword [esp + 0x54]
xor esi, esi
or edx, eax
add esp, 0x14
cmp dword [ebx + 8], esi
mov dword [esp + 0x40], edx
mov dword [esp + 0x14], esi
jle 0x1009d0d3
jmp 0x1009cf94
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0xa4]
push edx
push eax
call fcn.1008a9c0
add esp, 8
mov dword [esp + 0x40], eax
jmp 0x1009cf2e
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
cmp dword [ecx + esi*4], 0
jl 0x1009cff9
cmp edx, 0xffffffff
je 0x1009cff9
mov eax, 1
mov ecx, esi
shl eax, cl
test edx, eax
jne 0x1009cff9
mov ebx, dword [ebp + 0xc]
cmp dword [ebp + 0x10], ebx
jg 0x1009cfc7
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1009d0c1
mov edx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea ecx, [ebx + ebx*4]
lea eax, [edx + ecx*4]
mov edx, dword [esp + 0x58]
xor ecx, ecx
add edx, esi
mov byte [eax], 0xa
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov byte [ebp + 0x62], cl
jmp 0x1009d0c1
test esi, esi
jl 0x1009d057
cmp esi, dword [ebx + 4]
je 0x1009d057
mov al, byte [ebx + 0x1e]
and al, 0x10
movzx ebx, al
mov eax, dword [ebp + 0xc]
neg ebx
sbb ebx, ebx
and ebx, 0x65
add ebx, 0x1c
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x28], eax
jg 0x1009d02f
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1009d09e
mov eax, dword [esp + 0x28]
mov edx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x58]
mov dword [eax + 4], ecx
mov byte [eax], bl
mov dword [eax + 8], esi
lea ecx, [esi + edx]
mov dword [eax + 0x10], 0
jmp 0x1009d08f
mov ebx, dword [ebp + 0xc]
cmp dword [ebp + 0x10], ebx
jg 0x1009d06a
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1009d09e
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x24]
lea edx, [ebx + ebx*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x58]
mov dword [eax + 4], ecx
lea ecx, [esi + edx]
mov dword [eax + 8], ecx
xor ecx, ecx
mov byte [eax], 0x3d
mov dword [eax + 0x10], ecx
mov byte [eax + 3], 0
mov dword [eax + 0xc], ecx
mov byte [eax + 1], 0
mov byte [ebp + 0x62], 0
test esi, esi
jl 0x1009d0c1
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x14]
lea ecx, [eax + edx]
mov edx, dword [esp + 0x18]
push ecx
push edx
mov esi, ebp
call fcn.1009c270
mov esi, dword [esp + 0x1c]
add esp, 8
mov ebx, dword [esp + 0x18]
inc esi
cmp esi, dword [ebx + 8]
mov dword [esp + 0x14], esi
jl 0x1009cf90
cmp dword [esp + 0x44], 0
jne 0x1009d11b
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1009d0ed
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1009d11b
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x2c]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
xor ecx, ecx
mov dword [eax + 4], edx
mov edx, dword [esp + 0x1c]
mov byte [eax], 0xe
mov byte [eax + 3], cl
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov byte [ebp + 0x62], cl
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xa4]
mov edi, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x58]
push 1
push 1
push ecx
push edx
mov ebx, edi
call fcn.1009c1f0
xor ebx, ebx
xor esi, esi
add esp, 0x14
cmp dword [edi + 8], ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x14], esi
jle 0x1009d2f7
mov edi, edi
mov eax, dword [esp + 0x18]
cmp esi, dword [eax + 4]
jne 0x1009d1b7
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x28], eax
jg 0x1009d188
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1009d2e5
mov eax, dword [esp + 0x28]
mov edx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x48]
add ecx, esi
mov byte [eax], 0xa
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
jmp 0x1009d2e5
mov edx, dword [esp + 0x38]
mov eax, dword [edx + esi*4]
cmp eax, ebx
jl 0x1009d25e
mov ecx, dword [esp + 0xac]
mov edx, dword [ecx + 0xc]
mov ecx, dword [esp + 0x48]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4]
mov edx, dword [esp + 0xa4]
lea edi, [ecx + esi]
push edi
push eax
push edx
call fcn.1007b550
add esp, 0xc
mov dword [esp + 0x34], eax
cmp eax, edi
je 0x1009d2e5
mov eax, dword [esp + 0xa4]
mov edi, dword [eax + 0xc]
cmp edi, ebx
je 0x1009d2e5
mov eax, dword [edi + 0xc]
cmp dword [edi + 0x10], eax
mov dword [esp + 0x28], eax
jg 0x1009d22a
call fcn.1006c560
test eax, eax
jne 0x1009d2e5
mov eax, dword [esp + 0x28]
mov edx, dword [edi + 0x14]
inc dword [edi + 0xc]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x48]
mov dword [eax + 4], ecx
lea ecx, [edx + esi]
mov byte [eax], 0xf
mov byte [eax + 3], bl
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [edi + 0x62], bl
jmp 0x1009d2e5
test dword [esp + 0x70], 1
je 0x1009d27e
cmp esi, 0x1f
jg 0x1009d27e
mov ecx, esi
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x3c]
test ecx, eax
je 0x1009d2e5
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x28], eax
jg 0x1009d299
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1009d2c7
mov eax, dword [esp + 0x28]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x24]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x14]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x48]
add edx, esi
mov byte [eax], 0x1c
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x18]
add ecx, eax
push ecx
push edx
mov esi, ebp
call fcn.1009c270
mov esi, dword [esp + 0x1c]
add esp, 8
mov eax, dword [esp + 0x18]
inc esi
cmp esi, dword [eax + 8]
mov dword [esp + 0x14], esi
jl 0x1009d160
test byte [esp + 0x70], 1
je 0x1009d46e
mov ecx, dword [esp + 0x18]
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
mov edx, dword [ecx + 8]
mov dword [esp + 0x28], edx
jg 0x1009d320
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1009d34c
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x48]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x28]
mov byte [eax], 0x1d
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov esi, dword [esp + 0x18]
push ebp
mov eax, esi
call fcn.1008b7c0
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x30]
add esp, 4
push edx
mov edx, dword [esp + 0xb0]
push eax
mov eax, dword [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0xb0]
push esi
push 1
push edx
push 0x6b
push eax
push ecx
call fcn.1009c180
mov esi, dword [ebp + 0xc]
add esp, 0x24
cmp dword [ebp + 0x10], esi
jg 0x1009d3a2
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1009d3d2
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x24]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x20]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x2c]
mov byte [eax], 0x34
mov byte [eax + 3], bl
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov edx, dword [esp + 0x18]
xor esi, esi
cmp dword [edx + 8], ebx
mov dword [esp + 0x14], esi
jle 0x1009d46e
mov eax, edx
mov ecx, dword [esp + 0x38]
cmp dword [ecx + esi*4], ebx
jge 0x1009d460
cmp esi, dword [eax + 4]
je 0x1009d460
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x28], eax
jg 0x1009d410
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1009d43e
mov eax, dword [esp + 0x28]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x24]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x14]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x48]
add edx, esi
mov byte [eax], 0x1c
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x18]
add ecx, eax
push ecx
push edx
mov esi, ebp
call fcn.1009c270
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
add esp, 8
inc esi
cmp esi, dword [eax + 8]
mov dword [esp + 0x14], esi
jl 0x1009d3e7
cmp dword [esp + 0x68], ebx
jne 0x1009d60a
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0xb4]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x18]
push ebx
push eax
mov eax, dword [esp + 0x54]
push ecx
mov ecx, dword [esp + 0x28]
neg edx
push 1
sbb edx, edx
and edx, esi
push edx
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0xbc]
push ecx
push edx
push edi
push eax
call fcn.1008d830
add esp, 0x28
cmp dword [esp + 0x30], ebx
je 0x1009d4d4
mov ecx, dword [esp + 0xa4]
push ebx
push esi
push edi
push ecx
call fcn.1008a5f0
add esp, 0x10
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1009d4f1
mov edi, ebp
call fcn.1006c560
test eax, eax
je 0x1009d4f1
mov dword [esp + 0x34], 1
jmp 0x1009d521
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x24]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x2c]
mov byte [eax], 0x34
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov dword [esp + 0x34], esi
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xa4]
push eax
mov eax, dword [esp + 0x1c]
push ecx
push edx
call fcn.10086950
add esp, 0xc
cmp dword [esp + 0x30], ebx
jne 0x1009d54b
cmp dword [esp + 0x44], ebx
je 0x1009d586
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1009d55e
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1009d586
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x24]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x39
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x34]
cmp eax, ecx
jle 0x1009d59b
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
mov esi, dword [esp + 0x30]
cmp esi, ebx
je 0x1009d5be
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xa4]
push eax
push ebx
push ecx
push edx
call fcn.1008a5f0
add esp, 0x10
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
push ebx
push ebx
push 1
push eax
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0xb8]
push edx
push eax
push ecx
call fcn.1008e400
add esp, 0x20
cmp esi, ebx
je 0x1009d60a
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0xac]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0xa4]
push edx
push eax
call fcn.1008b500
add esp, 8
mov ecx, dword [esp + 0x50]
test dword [ecx + 0xc], 0x1000
je 0x1009d666
mov edx, dword [esp + 0xa4]
cmp dword [edx + 0x1ac], ebx
jne 0x1009d666
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1009d639
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1009d666
mov edx, dword [ebp + 0x14]
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x64]
mov ecx, 1
add dword [ebp + 0xc], ecx
mov byte [eax], 0x14
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x18]
push edi
push eax
mov eax, dword [esp + 0xb4]
push ecx
mov ecx, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0xb4]
push 2
push eax
push 0x6b
push ecx
push edx
call fcn.1009c180
mov esi, dword [ebp + 0xc]
add esp, 0x24
cmp dword [ebp + 0x10], esi
jg 0x1009d6b5
mov edi, ebp
call fcn.1006c560
mov edi, dword [esp + 0x20]
test eax, eax
jne 0x1009d6d9
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 1
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], edi
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov eax, dword [ebp + 0xc]
cmp eax, edi
jle 0x1009d6ea
mov ecx, dword [ebp + 0x14]
lea edx, [edi + edi*4]
mov dword [ecx + edx*4 + 8], eax
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x10]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], eax
cmp eax, ebx
je 0x1009d769
lea ecx, [ecx]
cmp dword [esp + 0x60], ebx
jne 0x1009d713
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x14]
cmp dword [ecx + edx*4], ebx
jle 0x1009d75a
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1009d726
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1009d756
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x24]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x14]
lea edx, [edx + ecx + 1]
mov byte [eax], 0x2b
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x20]
inc dword [esp + 0x14]
mov dword [esp + 0x20], eax
cmp eax, ebx
jne 0x1009d700
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1009d77c
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1009d7a4
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x24]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x2b
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
mov eax, dword [esp + 0xa4]
cmp byte [eax + 0x13], bl
jne 0x1009d7c1
cmp dword [eax + 0x1ac], ebx
jne 0x1009d7c1
push eax
call fcn.1008bd80
add esp, 4
mov eax, dword [esp + 0x50]
test dword [eax + 0xc], 0x1000
je 0x1009d8bb
mov ecx, dword [esp + 0xa4]
cmp dword [ecx + 0x1ac], ebx
jne 0x1009d8bb
mov edx, ecx
cmp byte [edx + 0x13], bl
jne 0x1009d8bb
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1009d803
mov edi, ebp
call fcn.1006c560
test eax, eax
jne 0x1009d834
mov edx, dword [ebp + 0x14]
mov ecx, 1
add dword [ebp + 0xc], ecx
xor ebx, ebx
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x64]
mov byte [eax], 0x10
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x62], bl
jmp 0x1009d836
xor ebx, ebx
push 1
mov edi, ebp
call fcn.1006d960
mov eax, dword [ebp]
add esp, 4
cmp byte [eax + 0x1e], bl
jne 0x1009d8bb
mov ebp, dword [ebp + 0x28]
mov eax, dword [ebp + 0x10]
xor ebx, ebx
cmp eax, ebx
je 0x1009d85b
mov eax, dword [eax + 0x48]
jmp 0x1009d860
mov eax, 0x3b9aca00
xor esi, esi
cmp eax, ebx
jl 0x1009d873
cmp byte [esi + str.rows_updated], bl
je 0x1009d873
inc esi
cmp esi, eax
jle 0x1009d866
xor ecx, ecx
mov edi, 0x202
push ebp
cmp ecx, fcn.10053a50
jne 0x1009d895
call fcn.1006b5a0
mov eax, str.rows_updated
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x24], eax
jmp 0x1009d8a6
call fcn.1006b5a0
mov dword [ebp + 0x14], str.rows_updated
mov edi, 0xa02
mov dword [ebp + 0x20], ebx
add esp, 4
mov dword [ebp + 0x18], esi
mov word [ebp + 0x1c], di
mov byte [ebp + 0x1f], 1
mov byte [ebp + 0x1e], 3
xor ebx, ebx
mov eax, dword [esp + 0x78]
cmp eax, ebx
je 0x1009d8cf
mov edx, dword [esp + 0x74]
mov dword [eax + 0x208], edx
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x50]
push eax
push esi
call fcn.10053a50
mov ecx, dword [esp + 0x40]
push ecx
push esi
call fcn.10053a50
mov edx, dword [esp + 0xb8]
push edx
call fcn.100848b0
mov eax, dword [esp + 0xc0]
add esp, 0x14
push eax
mov edi, esi
call fcn.10079b30
mov ecx, dword [esp + 0xb4]
add esp, 4
push ecx
push esi
call fcn.10079040
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x90
ret