Function at 0x10083320
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 0x1008487d
cmp byte [eax + 0x1e], bl
jne 0x1008487d
mov eax, dword [esp + 0xa8]
push edi
call fcn.1006cdf0
mov ebp, eax
add esp, 4
mov dword [esp + 0x18], ebp
cmp ebp, ebx
je 0x1008487d
mov esi, dword [ebp + 0x40]
mov ecx, dword [edi]
call fcn.10079db0
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.100829a0
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.10069be0
add esp, 0x18
test eax, eax
jne 0x1008487d
mov eax, dword [esp + 0x70]
push eax
mov ecx, ebp
mov eax, edi
call fcn.1006ce50
add esp, 4
test eax, eax
jne 0x1008487d
mov ecx, dword [ebp + 8]
mov esi, dword [esp + 0x50]
add ecx, ecx
add ecx, ecx
call fcn.1003ac30
mov ecx, eax
mov dword [esp + 0x38], ecx
cmp ecx, ebx
je 0x1008487d
xor eax, eax
cmp dword [ebp + 8], ebx
jle 0x1008342d
jmp 0x10083420
mov dword [ecx + eax*4], 0xffffffff
inc eax
cmp eax, dword [ebp + 8]
jl 0x10083420
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 0x1008345b
jmp 0x10083450
inc ecx
mov dword [edi + 0x44], ecx
mov eax, dword [eax + 0x20]
cmp eax, ebx
jne 0x10083450
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 0x10083694
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.1005f500
test eax, eax
jne 0x1008487b
xor ebx, ebx
cmp dword [ebp + 8], ebx
mov dword [esp + 0x30], ebx
jle 0x1008358a
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 0x10083541
lea esp, [esp]
movzx ebx, byte [edx]
movzx eax, al
mov al, byte [eax + 0x100af600]
cmp al, byte [ebx + 0x100af600]
jne 0x1008353d
mov al, byte [ecx + 1]
inc ecx
inc edx
test al, al
jne 0x10083520
mov ebx, dword [esp + 0x30]
movzx edx, byte [edx]
movzx ecx, byte [ecx]
movzx eax, byte [edx + 0x100af600]
movzx edx, byte [ecx + 0x100af600]
sub edx, eax
je 0x10083568
inc ebx
add esi, 0x18
cmp ebx, dword [ebp + 8]
mov dword [esp + 0x30], ebx
jl 0x10083510
jmp 0x1008358a
cmp ebx, dword [ebp + 4]
jne 0x1008357f
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 0x10083630
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 0x100835e1
jmp 0x100835c0
movzx ebx, byte [edx]
movzx ecx, cl
mov cl, byte [ecx + 0x100af600]
cmp cl, byte [ebx + 0x100af600]
jne 0x100835dd
mov cl, byte [eax + 1]
inc eax
inc edx
test cl, cl
jne 0x100835c0
mov ebx, dword [esp + 0x30]
movzx edx, byte [edx]
movzx ecx, byte [edx + 0x100af600]
movzx edx, byte [eax]
movzx eax, byte [edx + 0x100af600]
sub eax, ecx
je 0x1008361d
mov edx, str.ROWID
mov ecx, esi
call fcn.1003cab0
test eax, eax
je 0x1008361d
mov edx, 0x100b7bfc
mov ecx, esi
call fcn.1003cab0
test eax, eax
jne 0x100836b8
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.10067580
add esp, 0x10
cmp eax, 1
je 0x1008487b
cmp eax, 2
jne 0x10083675
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 0x100834c0
xor ebx, ebx
mov ecx, dword [edi]
test dword [ecx + 0xc], 0x4000000
je 0x100836e4
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x38]
push edx
push eax
push ebp
call fcn.10071a60
add esp, 0xc
mov dword [esp + 0x30], eax
jmp 0x100836e8
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.1003c9b0
add esp, 8
mov byte [edi + 0x12], 1
jmp 0x1008487b
mov dword [esp + 0x30], ebx
mov eax, dword [ebp + 0x10]
xor ecx, ecx
cmp eax, ebx
je 0x10083718
mov eax, dword [eax + 0x20]
inc ecx
cmp eax, ebx
jne 0x100836f1
cmp ecx, ebx
jle 0x10083718
mov esi, dword [esp + 0x50]
add ecx, ecx
add ecx, ecx
call fcn.1003ac30
mov dword [esp + 0x4c], eax
cmp eax, ebx
je 0x1008487d
jmp 0x1008371c
mov eax, dword [esp + 0x4c]
mov esi, dword [ebp + 0x10]
cmp esi, ebx
je 0x10083782
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x44], ebx
je 0x10083732
inc dword [edi + 0x48]
jmp 0x1008376b
mov edx, dword [esi + 4]
xor ebp, ebp
xor eax, eax
cmp edx, ebx
jle 0x1008376e
mov ecx, dword [esi + 8]
mov edi, dword [esp + 0x38]
mov ebx, dword [ecx]
cmp dword [edi + ebx*4], 0
jge 0x1008375f
inc eax
add ecx, 4
cmp eax, edx
jl 0x10083744
mov edi, dword [esp + 0xa4]
xor ebx, ebx
jmp 0x1008376e
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 0x10083727
mov edi, dword [esp + 0xa4]
mov ebp, dword [edi + 0xc]
cmp ebp, ebx
jne 0x100838c5
mov esi, dword [edi]
cmp esi, ebx
je 0x100837e8
cmp byte [esi + 0x1e], bl
jne 0x1008395d
cmp byte [esi + 0xea], bl
je 0x100837e8
mov ecx, 0xf0
cmp cx, word [esi + 0xe8]
ja 0x100837e8
mov ebp, dword [esi + 0xf4]
cmp ebp, ebx
je 0x100837e8
mov edx, dword [ebp]
inc dword [esi + 0xec]
mov eax, dword [esi + 0xec]
cmp eax, dword [esi + 0xf0]
mov dword [esi + 0xf4], edx
jle 0x1008383c
mov dword [esi + 0xf0], eax
jmp 0x1008383c
cmp dword [0x100cc3c8], ebx
je 0x1008394a
mov eax, dword [0x100ce868]
cmp eax, ebx
je 0x10083807
push eax
call dword [0x100cc410]
add esp, 4
lea ebx, [esp + 0x1c]
mov eax, 0xf0
call fcn.1003a570
mov eax, dword [0x100ce868]
test eax, eax
je 0x10083828
push eax
call dword [0x100cc418]
add esp, 4
mov eax, dword [esp + 0x1c]
xor ebx, ebx
cmp eax, ebx
jne 0x1008383a
cmp esi, ebx
je 0x1008383a
mov byte [esi + 0x1e], 1
mov ebp, eax
cmp ebp, ebx
je 0x1008395d
push 0xf0
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 0x10083863
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 0x1008487d
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1008389a
mov edi, ebp
call fcn.10053530
test eax, eax
jne 0x100838be
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 0x100838ce
mov byte [ebp + 0x61], 1
mov esi, dword [edi + 0x1a8]
cmp esi, ebx
jne 0x100838da
mov esi, edi
mov eax, dword [esp + 0x5c]
push eax
mov eax, edi
call fcn.1006bef0
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 0x10083964
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.100848f0
add esp, 0x1c
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xa8], ebx
jmp 0x1008487d
push 0xf0
call dword [0x100cc3e0]
add esp, 4
jmp 0x1008382e
xor ebp, ebp
jmp 0x1008387c
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 0x10083980
cmp dword [esp + 0x30], ebx
je 0x1008398f
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 0x1008399f
cmp edx, ebx
jne 0x1008399f
cmp dword [esp + 0x30], ebx
je 0x100839a9
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 0x100839f3
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.1006cee0
add esp, 0x10
mov ebx, dword [esp + 0xb0]
lea esi, [esp + 0x7c]
call fcn.1005f500
test eax, eax
jne 0x1008487b
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x10083a1e
mov edi, ebp
call fcn.10053530
test eax, eax
jne 0x10083a4a
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 0x10083a4c
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.1008ae40
add esp, 0x14
mov dword [esp + 0x20], eax
cmp eax, ebx
je 0x1008487b
movzx esi, byte [eax + 6]
mov ebx, dword [ebp + 0xc]
cmp dword [ebp + 0x10], ebx
mov dword [esp + 0x34], esi
jg 0x10083a96
mov edi, ebp
call fcn.10053530
test eax, eax
jne 0x10083ac6
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 0x10083ac8
xor ebx, ebx
cmp esi, ebx
mov esi, dword [esp + 0xa4]
jne 0x10083b24
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 0x10083af8
mov edi, ebp
call fcn.10053530
test eax, eax
jne 0x10083b24
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.1008ba40
mov ecx, dword [esp + 0x54]
add esp, 4
test dword [ecx + 0xc], 0x1000
je 0x10083b93
cmp dword [esi + 0x1ac], ebx
jne 0x10083b93
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 0x10083b6b
mov edi, ebp
call fcn.10053530
test eax, eax
jne 0x10083b93
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 0x10083cf6
mov edi, dword [esp + 0x18]
cmp dword [esp + 0x34], ebx
jne 0x10083bbf
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x24]
push 0x27
push eax
push ecx
mov eax, edi
mov ecx, esi
call fcn.10072670
add esp, 0xc
mov ecx, 5
cmp dword [esp + 0xb4], ecx
je 0x10083be6
mov eax, dword [edi + 0x10]
mov dword [esp + 0x60], ebx
cmp eax, ebx
je 0x10083bee
cmp byte [eax + 0x18], cl
je 0x10083be6
mov eax, dword [eax + 0x20]
cmp eax, ebx
jne 0x10083bd8
jmp 0x10083bee
mov dword [esp + 0x60], 1
mov eax, dword [edi + 0x10]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], eax
cmp eax, ebx
je 0x10083cf6
cmp dword [esp + 0x60], ebx
jne 0x10083c18
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x14]
cmp dword [edx + eax*4], ebx
jle 0x10083cdf
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0xa4]
push esi
push ecx
call fcn.1006c3f0
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 0x10083c52
mov edi, ebp
call fcn.10053530
test eax, eax
je 0x10083c52
mov esi, 1
jmp 0x10083c8a
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 0x10083cd1
cmp byte [edi + 0x1e], bl
jne 0x10083cd1
cmp esi, ebx
jge 0x10083ca3
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.10053a00
mov eax, dword [esp + 0x3c]
mov dword [esi + 0x10], ebx
cmp eax, ebx
jne 0x10083cc8
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x10083cdf
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xfa
jmp 0x10083cdf
mov ecx, dword [esp + 0x3c]
mov eax, 0xfffffff0
call fcn.10053a00
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x20]
inc dword [esp + 0x14]
mov dword [esp + 0x20], eax
cmp eax, ebx
jne 0x10083c01
mov esi, dword [ebp + 0xc]
cmp dword [esp + 0x34], ebx
je 0x10083da2
cmp dword [ebp + 0x10], esi
jg 0x10083d1d
mov edi, ebp
call fcn.10053530
test eax, eax
je 0x10083d1d
mov dword [esp + 0x34], 1
jmp 0x10083d49
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 0x10083d63
mov edi, ebp
call fcn.10053530
test eax, eax
je 0x10083d63
mov esi, 1
jmp 0x10083d87
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 0x10083dec
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
jmp 0x10083dec
cmp dword [ebp + 0x10], esi
jg 0x10083dbc
mov edi, ebp
call fcn.10053530
test eax, eax
je 0x10083dbc
mov dword [esp + 0x20], 1
jmp 0x10083dec
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 0x10083dff
mov edi, ebp
call fcn.10053530
test eax, eax
jne 0x10083e2f
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 0x10083eda
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0xa4]
push esi
push edx
push edi
call fcn.10062520
add esp, 0xc
mov dword [esp + 0x28], eax
cmp eax, esi
je 0x10083e9f
mov edi, dword [edi + 0xc]
cmp edi, ebx
je 0x10083e9f
mov esi, dword [edi + 0xc]
cmp dword [edi + 0x10], esi
jg 0x10083e73
call fcn.10053530
test eax, eax
jne 0x10083e9f
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 0x10083eb2
mov edi, ebp
call fcn.10053530
test eax, eax
jne 0x10083eda
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 0x10083f34
cmp dword [esp + 0x54], ebx
je 0x100840db
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.100831b0
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 0x10084093
jmp 0x10083f54
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0xa4]
push edx
push eax
call fcn.100719a0
add esp, 8
mov dword [esp + 0x40], eax
jmp 0x10083eee
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
cmp dword [ecx + esi*4], 0
jl 0x10083fb9
cmp edx, 0xffffffff
je 0x10083fb9
mov eax, 1
mov ecx, esi
shl eax, cl
test edx, eax
jne 0x10083fb9
mov ebx, dword [ebp + 0xc]
cmp dword [ebp + 0x10], ebx
jg 0x10083f87
mov edi, ebp
call fcn.10053530
test eax, eax
jne 0x10084081
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 0x10084081
test esi, esi
jl 0x10084017
cmp esi, dword [ebx + 4]
je 0x10084017
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 0x10083fef
mov edi, ebp
call fcn.10053530
test eax, eax
jne 0x1008405e
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 0x1008404f
mov ebx, dword [ebp + 0xc]
cmp dword [ebp + 0x10], ebx
jg 0x1008402a
mov edi, ebp
call fcn.10053530
test eax, eax
jne 0x1008405e
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 0x10084081
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.10083230
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 0x10083f50
cmp dword [esp + 0x44], 0
jne 0x100840db
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x100840ad
mov edi, ebp
call fcn.10053530
test eax, eax
jne 0x100840db
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.100831b0
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 0x100842b7
mov edi, edi
mov eax, dword [esp + 0x18]
cmp esi, dword [eax + 4]
jne 0x10084177
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x28], eax
jg 0x10084148
mov edi, ebp
call fcn.10053530
test eax, eax
jne 0x100842a5
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 0x100842a5
mov edx, dword [esp + 0x38]
mov eax, dword [edx + esi*4]
cmp eax, ebx
jl 0x1008421e
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.10062520
add esp, 0xc
mov dword [esp + 0x34], eax
cmp eax, edi
je 0x100842a5
mov eax, dword [esp + 0xa4]
mov edi, dword [eax + 0xc]
cmp edi, ebx
je 0x100842a5
mov eax, dword [edi + 0xc]
cmp dword [edi + 0x10], eax
mov dword [esp + 0x28], eax
jg 0x100841ea
call fcn.10053530
test eax, eax
jne 0x100842a5
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 0x100842a5
test dword [esp + 0x70], 1
je 0x1008423e
cmp esi, 0x1f
jg 0x1008423e
mov ecx, esi
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x3c]
test ecx, eax
je 0x100842a5
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x28], eax
jg 0x10084259
mov edi, ebp
call fcn.10053530
test eax, eax
jne 0x10084287
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.10083230
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 0x10084120
test byte [esp + 0x70], 1
je 0x1008442e
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 0x100842e0
mov edi, ebp
call fcn.10053530
test eax, eax
jne 0x1008430c
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.100727a0
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.10083140
mov esi, dword [ebp + 0xc]
add esp, 0x24
cmp dword [ebp + 0x10], esi
jg 0x10084362
mov edi, ebp
call fcn.10053530
test eax, eax
jne 0x10084392
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 0x1008442e
mov eax, edx
mov ecx, dword [esp + 0x38]
cmp dword [ecx + esi*4], ebx
jge 0x10084420
cmp esi, dword [eax + 4]
je 0x10084420
mov eax, dword [ebp + 0xc]
cmp dword [ebp + 0x10], eax
mov dword [esp + 0x28], eax
jg 0x100843d0
mov edi, ebp
call fcn.10053530
test eax, eax
jne 0x100843fe
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.10083230
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 0x100843a7
cmp dword [esp + 0x68], ebx
jne 0x100845ca
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.10074810
add esp, 0x28
cmp dword [esp + 0x30], ebx
je 0x10084494
mov ecx, dword [esp + 0xa4]
push ebx
push esi
push edi
push ecx
call fcn.100715d0
add esp, 0x10
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x100844b1
mov edi, ebp
call fcn.10053530
test eax, eax
je 0x100844b1
mov dword [esp + 0x34], 1
jmp 0x100844e1
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.1006d930
add esp, 0xc
cmp dword [esp + 0x30], ebx
jne 0x1008450b
cmp dword [esp + 0x44], ebx
je 0x10084546
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1008451e
mov edi, ebp
call fcn.10053530
test eax, eax
jne 0x10084546
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 0x1008455b
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 0x1008457e
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.100715d0
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.100753e0
add esp, 0x20
cmp esi, ebx
je 0x100845ca
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.100724e0
add esp, 8
mov ecx, dword [esp + 0x50]
test dword [ecx + 0xc], 0x1000
je 0x10084626
mov edx, dword [esp + 0xa4]
cmp dword [edx + 0x1ac], ebx
jne 0x10084626
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x100845f9
mov edi, ebp
call fcn.10053530
test eax, eax
jne 0x10084626
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.10083140
mov esi, dword [ebp + 0xc]
add esp, 0x24
cmp dword [ebp + 0x10], esi
jg 0x10084675
mov edi, ebp
call fcn.10053530
mov edi, dword [esp + 0x20]
test eax, eax
jne 0x10084699
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 0x100846aa
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 0x10084729
lea ecx, [ecx]
cmp dword [esp + 0x60], ebx
jne 0x100846d3
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x14]
cmp dword [ecx + edx*4], ebx
jle 0x1008471a
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x100846e6
mov edi, ebp
call fcn.10053530
test eax, eax
jne 0x10084716
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 0x100846c0
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x1008473c
mov edi, ebp
call fcn.10053530
test eax, eax
jne 0x10084764
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 0x10084781
cmp dword [eax + 0x1ac], ebx
jne 0x10084781
push eax
call fcn.10072d60
add esp, 4
mov eax, dword [esp + 0x50]
test dword [eax + 0xc], 0x1000
je 0x1008487b
mov ecx, dword [esp + 0xa4]
cmp dword [ecx + 0x1ac], ebx
jne 0x1008487b
mov edx, ecx
cmp byte [edx + 0x13], bl
jne 0x1008487b
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x100847c3
mov edi, ebp
call fcn.10053530
test eax, eax
jne 0x100847f4
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 0x100847f6
xor ebx, ebx
push 1
mov edi, ebp
call fcn.10054930
mov eax, dword [ebp]
add esp, 4
cmp byte [eax + 0x1e], bl
jne 0x1008487b
mov ebp, dword [ebp + 0x28]
mov eax, dword [ebp + 0x10]
xor ebx, ebx
cmp eax, ebx
je 0x1008481b
mov eax, dword [eax + 0x48]
jmp 0x10084820
mov eax, 0x3b9aca00
xor esi, esi
cmp eax, ebx
jl 0x10084833
cmp byte [esi + str.rows_updated], bl
je 0x10084833
inc esi
cmp esi, eax
jle 0x10084826
xor ecx, ecx
mov edi, 0x202
push ebp
cmp ecx, fcn.1003a9f0
jne 0x10084855
call fcn.10052570
mov eax, str.rows_updated
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x24], eax
jmp 0x10084866
call fcn.10052570
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 0x1008488f
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.1003a9f0
mov ecx, dword [esp + 0x40]
push ecx
push esi
call fcn.1003a9f0
mov edx, dword [esp + 0xb8]
push edx
call fcn.1006b890
mov eax, dword [esp + 0xc0]
add esp, 0x14
push eax
mov edi, esi
call fcn.10060b00
mov ecx, dword [esp + 0xb4]
add esp, 4
push ecx
push esi
call fcn.10060010
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x90
ret