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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x84
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
or eax, 0xffffffff
mov dword [esp + 0x20], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], edi
cmp dword [esi + 0x18], edi
jne 0x1004e442
cmp dword [0x10112c64], edi
je 0x1004c6d4
cmp dword [0x10112c70], edi
jg 0x1004e442
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi]
push ecx
push esi
mov dword [esp + 0x5c], eax
call fcn.100497d0
mov ebx, eax
add esp, 8
mov dword [esp + 0x18], ebx
cmp ebx, edi
je 0x1004e442
mov edi, dword [ebx + 0x3c]
mov eax, dword [esi]
mov dword [esp + 0x2c], 0xfff0bdc0
test edi, edi
je 0x1004c734
mov ecx, dword [eax]
mov dword [esp + 0x2c], 0
test ecx, ecx
jle 0x1004c734
mov eax, dword [eax + 4]
add eax, 0x14
lea ebx, [ebx]
cmp dword [eax], edi
je 0x1004c734
mov edx, dword [esp + 0x2c]
inc edx
add eax, 0x18
mov dword [esp + 0x2c], edx
cmp edx, ecx
jl 0x1004c720
mov edx, dword [ebp + 0x10]
push edx
push 0x63
mov eax, ebx
call fcn.10039260
xor ecx, ecx
cmp dword [ebx + 0x18], ecx
mov dword [esp + 0x58], eax
setne cl
push eax
mov eax, ebx
mov edi, ecx
mov ecx, esi
mov dword [esp + 0x3c], edi
call fcn.10049830
add esp, 0xc
test eax, eax
jne 0x1004e442
test edi, edi
je 0x1004c77e
push ebx
push esi
call fcn.1002c4f0
add esp, 8
test eax, eax
jne 0x1004e442
mov eax, dword [ebx + 4]
add eax, eax
add eax, eax
test eax, eax
jle 0x1004e442
push eax
call fcn.1001a040
mov ecx, eax
xor edi, edi
add esp, 4
mov dword [esp + 0x40], ecx
cmp ecx, edi
je 0x1004e442
xor eax, eax
cmp dword [ebx + 4], edi
jle 0x1004c7bd
lea ecx, [ecx]
mov dword [ecx + eax*4], 0xffffffff
inc eax
cmp eax, dword [ebx + 4]
jl 0x1004c7b0
cmp dword [esp + 0x50], edi
je 0x1004c7d3
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x38], eax
inc eax
mov dword [esp + 0x3c], eax
inc eax
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x1c]
mov edx, dword [ebp + 0xc]
mov word [edx + 0x1a], ax
inc dword [esi + 0x1c]
mov ecx, dword [esi + 0x1c]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x10]
cmp eax, edi
je 0x1004c7fb
mov edi, edi
inc ecx
mov dword [esi + 0x1c], ecx
mov eax, dword [eax + 0x20]
cmp eax, edi
jne 0x1004c7f0
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x70], edx
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
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 + 0x6c], esi
mov dword [esp + 0x28], edi
mov dword [esp + 0x14], edi
cmp dword [edx], edi
jle 0x1004cb7f
mov dword [esp + 0x44], edi
lea esp, [esp]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x44]
mov esi, dword [edx + ecx]
test esi, esi
je 0x1004c8c1
movzx edi, byte [esp + 0x81]
lea eax, [esp + 0x6c]
push eax
push fcn.100479b0
push esi
mov byte [esp + 0x8d], 0
call fcn.10046db0
add esp, 0xc
cmp dword [esp + 0x7c], 0
jle 0x1004c88f
or byte [esi + 2], 8
cmp byte [esp + 0x81], 0
je 0x1004c89f
or byte [esi + 2], 2
jmp 0x1004c8ab
test edi, edi
je 0x1004c8ab
mov byte [esp + 0x81], 1
mov cl, byte [esi + 2]
and cl, 8
xor eax, eax
cmp cl, 8
sete al
test eax, eax
jne 0x1004e435
mov eax, dword [ebx + 4]
xor edi, edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x60], eax
test eax, eax
jle 0x1004c96f
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0xc]
add eax, dword [esp + 0x44]
mov esi, dword [ebx + 8]
mov edx, dword [eax + 4]
mov dword [esp + 0x10], eax
mov dword [esp + 0x5c], edx
mov edi, edi
mov ecx, dword [esi]
mov al, byte [ecx]
mov edx, dword [esp + 0x5c]
test al, al
je 0x1004c921
lea esp, [esp]
movzx ebx, byte [edx]
movzx eax, al
mov al, byte [eax + 0x100f18c8]
cmp al, byte [ebx + 0x100f18c8]
jne 0x1004c91d
mov al, byte [ecx + 1]
inc ecx
inc edx
test al, al
jne 0x1004c900
mov ebx, dword [esp + 0x18]
movzx ecx, byte [ecx]
movzx eax, byte [ecx + 0x100f18c8]
movzx ecx, byte [edx]
movzx edx, byte [ecx + 0x100f18c8]
sub eax, edx
je 0x1004c949
inc edi
add esi, 0x14
cmp edi, dword [esp + 0x60]
jl 0x1004c8f0
mov dword [esp + 0x24], edi
jmp 0x1004c96f
mov dword [esp + 0x24], edi
cmp edi, dword [ebx + 0xc]
jne 0x1004c964
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov dword [esp + 0x28], 1
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
mov dword [eax + edi*4], edx
cmp edi, dword [ebx + 4]
jl 0x1004ca8f
mov ecx, dword [ebp + 0x10]
mov eax, dword [esp + 0x44]
add eax, dword [ecx + 0xc]
mov edx, str._ROWID_
mov esi, dword [eax + 4]
mov bl, byte [esi]
mov dword [esp + 0x10], eax
mov eax, esi
test bl, bl
je 0x1004c9c1
mov cl, bl
jmp 0x1004c9a0
movzx edi, byte [edx]
movzx ecx, cl
mov cl, byte [ecx + 0x100f18c8]
cmp cl, byte [edi + 0x100f18c8]
jne 0x1004c9bd
mov cl, byte [eax + 1]
inc eax
inc edx
test cl, cl
jne 0x1004c9a0
mov edi, dword [esp + 0x24]
movzx edx, byte [edx]
movzx ecx, byte [edx + 0x100f18c8]
movzx edx, byte [eax]
movzx eax, byte [edx + 0x100f18c8]
sub eax, ecx
je 0x1004ca79
mov ecx, esi
mov edx, str.ROWID
test bl, bl
je 0x1004ca11
mov al, bl
lea ebx, [ebx]
movzx edi, byte [edx]
movzx eax, al
mov al, byte [eax + 0x100f18c8]
cmp al, byte [edi + 0x100f18c8]
jne 0x1004ca0d
mov al, byte [ecx + 1]
inc ecx
inc edx
test al, al
jne 0x1004c9f0
mov edi, dword [esp + 0x24]
movzx edx, byte [edx]
movzx ecx, byte [ecx]
movzx eax, byte [edx + 0x100f18c8]
movzx edx, byte [ecx + 0x100f18c8]
sub edx, eax
je 0x1004ca79
mov ecx, esi
mov edx, 0x100f400c
test bl, bl
je 0x1004ca5d
mov al, bl
jmp 0x1004ca40
movzx esi, byte [edx]
movzx eax, al
mov al, byte [eax + 0x100f18c8]
cmp al, byte [esi + 0x100f18c8]
jne 0x1004ca5d
mov al, byte [ecx + 1]
inc ecx
inc edx
test al, al
jne 0x1004ca40
movzx edx, byte [edx]
movzx ecx, byte [ecx]
movzx eax, byte [edx + 0x100f18c8]
movzx edx, byte [ecx + 0x100f18c8]
sub edx, eax
jne 0x1004cb57
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x28], 1
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x2c]
mov esi, dword [ebx]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + edx*8]
mov eax, dword [ebx + 8]
lea edx, [edi + edi*4]
mov edx, dword [eax + edx*4]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp byte [eax + 0x44], 0
jne 0x1004cafd
mov ebx, dword [eax + 0x90]
test ebx, ebx
je 0x1004cafd
mov edi, dword [ebp + 8]
mov edi, dword [edi + 0xb0]
push edi
push ecx
mov ecx, dword [eax + 0x94]
push edx
push esi
push 0x17
push ecx
call ebx
add esp, 0x18
cmp eax, 1
je 0x1004cb1b
test eax, eax
je 0x1004cae9
cmp eax, 2
jne 0x1004cb38
cmp eax, 2
jne 0x1004cafd
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x40]
mov dword [eax + edx*4], 0xffffffff
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 0x10]
add dword [esp + 0x44], 0xc
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [ecx]
jge 0x1004cb7f
mov ebx, dword [esp + 0x18]
jmp 0x1004c850
mov esi, dword [ebp + 8]
push str.not_authorized
push esi
call fcn.1001a430
add esp, 8
mov dword [esi + 4], 0x17
jmp 0x1004e435
mov esi, dword [ebp + 8]
push 1
push str.illegal_return_value___d__from_the_authorization_function___should_be_SQLITE_OK__SQLITE_IGNORE__or_SQLITE_DENY
push esi
call fcn.1001a430
add esp, 0xc
mov dword [esi + 4], 1
jmp 0x1004e435
mov eax, dword [esp + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + edx*4 + 4]
mov eax, dword [ebp + 8]
push edx
push str.no_such_column:__s
push eax
call fcn.1001a430
add esp, 0xc
jmp 0x1004e435
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x10]
mov edi, dword [esp + 0x40]
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x44], eax
cmp edx, eax
je 0x1004cc2c
lea esp, [esp]
xor eax, eax
cmp dword [esp + 0x28], eax
jne 0x1004cbc2
mov esi, dword [edx + 4]
test esi, esi
jle 0x1004cbc2
mov ecx, dword [edx + 8]
mov ebx, dword [ecx]
cmp dword [edi + ebx*4], 0
jge 0x1004cbc2
inc eax
add ecx, 4
cmp eax, esi
jl 0x1004cbb2
cmp eax, dword [edx + 4]
jge 0x1004cbcb
inc dword [esp + 0x44]
mov ecx, dword [esp + 0x24]
mov edx, dword [edx + 0x20]
inc ecx
mov dword [esp + 0x24], ecx
test edx, edx
jne 0x1004cba0
test ecx, ecx
jle 0x1004cc2c
mov esi, dword [esp + 0x44]
lea ecx, [ecx + esi*4]
xor eax, eax
test ecx, ecx
jle 0x1004cc19
cmp dword [0x10112c64], eax
je 0x1004cbfc
cmp dword [0x10112c70], eax
jg 0x1004cc19
push ecx
call fcn.100b3794
add esp, 4
test eax, eax
jne 0x1004cc19
inc dword [0x10112c70]
mov dword [0x10112c64], 1
mov dword [esp + 0x58], eax
test eax, eax
je 0x1004e435
lea edx, [eax + esi*4]
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x10]
test edx, edx
je 0x1004cc9d
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x24], eax
xor eax, eax
cmp dword [esp + 0x28], eax
jne 0x1004cc70
mov esi, dword [edx + 4]
test esi, esi
jle 0x1004cc70
mov ecx, dword [edx + 8]
lea esp, [esp]
mov ebx, dword [ecx]
cmp dword [edi + ebx*4], 0
jge 0x1004cc70
inc eax
add ecx, 4
cmp eax, esi
jl 0x1004cc60
cmp eax, dword [edx + 4]
jge 0x1004cc8b
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x44]
mov dword [eax], edx
add eax, 4
mov dword [esp + 0x24], eax
mov byte [ecx], 1
jmp 0x1004cc92
mov eax, dword [esp + 0x44]
mov byte [eax], 0
mov edx, dword [edx + 0x20]
inc dword [esp + 0x44]
test edx, edx
jne 0x1004cc47
mov ebx, dword [ebp + 0x14]
test ebx, ebx
je 0x1004cd73
movzx ecx, byte [esp + 0x81]
lea edx, [esp + 0x6c]
push ebx
push edx
mov dword [esp + 0x68], ecx
mov byte [esp + 0x89], 0
call fcn.100479b0
add esp, 8
test eax, eax
jne 0x1004cd33
mov ecx, dword [ebx + 8]
lea eax, [esp + 0x6c]
push eax
push fcn.100479b0
push ecx
call fcn.10046db0
add esp, 0xc
test eax, eax
jne 0x1004cd33
mov eax, dword [ebx + 0xc]
lea edx, [esp + 0x6c]
push edx
push fcn.100479b0
push eax
call fcn.10046db0
add esp, 0xc
test eax, eax
jne 0x1004cd33
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x1004cd33
mov esi, dword [eax]
mov edi, dword [eax + 0xc]
test esi, esi
jle 0x1004cd33
mov edx, dword [edi]
lea ecx, [esp + 0x6c]
push ecx
push fcn.100479b0
push edx
call fcn.10046db0
add esp, 0xc
test eax, eax
jne 0x1004cd33
dec esi
add edi, 0xc
test esi, esi
jg 0x1004cd12
cmp dword [esp + 0x7c], 0
jle 0x1004cd3e
or byte [ebx + 2], 8
cmp byte [esp + 0x81], 0
je 0x1004cd4e
or byte [ebx + 2], 2
jmp 0x1004cd5d
cmp dword [esp + 0x60], 0
je 0x1004cd5d
mov byte [esp + 0x81], 1
mov al, byte [ebx + 2]
and al, 8
xor ecx, ecx
cmp al, 8
sete cl
mov eax, ecx
test eax, eax
jne 0x1004e421
cmp dword [esp + 0x30], 0
mov edi, dword [ebp + 8]
je 0x1004cd97
mov eax, dword [esp + 0x18]
mov edx, dword [edi + 0xb0]
mov ecx, dword [eax]
mov dword [esp + 0x68], edi
mov dword [esp + 0x64], edx
mov dword [edi + 0xb0], ecx
mov ebx, dword [edi + 0xc]
mov dword [esp + 0x44], ebx
test ebx, ebx
jne 0x1004ce28
cmp dword [0x10112c64], 0
mov ebx, dword [edi]
je 0x1004cdba
cmp dword [0x10112c70], 0
jg 0x1004cddd
push 0x248
call fcn.100b3794
mov esi, eax
add esp, 4
test esi, esi
jne 0x1004cde1
mov eax, 1
add dword [0x10112c70], eax
mov dword [0x10112c64], eax
xor esi, esi
jmp 0x1004ce14
push 0x248
push 0
push esi
call fcn.100b2ed0
mov dword [esi], ebx
mov eax, dword [ebx + 0x48]
add esp, 0xc
test eax, eax
je 0x1004cdfd
mov dword [eax + 4], esi
mov edx, dword [ebx + 0x48]
mov dword [esi + 8], edx
mov dword [esi + 4], 0
mov dword [ebx + 0x48], esi
mov dword [esi + 0x50], 0x26bceaa5
mov dword [edi + 0xc], esi
mov dword [esp + 0x44], esi
test esi, esi
je 0x1004e40f
mov edi, dword [ebp + 8]
mov ebx, esi
cmp byte [edi + 0x13], 0
jne 0x1004ce35
mov byte [ebx + 0x236], 1
mov eax, dword [esp + 0x2c]
push 1
mov ecx, edi
call fcn.1002e8a0
add esp, 4
cmp dword [esp + 0x30], 0
je 0x1004d181
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x18]
push ecx
call fcn.10046b20
mov edx, dword [esp + 0x20]
add esp, 4
push 0
push 0
push 0
push 0
push edx
mov edi, eax
mov eax, dword [ebp + 8]
push 8
push edi
push eax
mov dword [esp + 0x34], edi
call fcn.100453a0
add esp, 0x20
test edi, edi
je 0x1004d181
mov eax, dword [edi]
mov dword [esp + 0x5c], eax
test eax, eax
je 0x1004cf6a
cmp dword [eax], 0
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x10], 0
jle 0x1004cf49
mov esi, ecx
mov edi, dword [esi]
test edi, edi
je 0x1004cf1d
test byte [edi + 0x20], 1
je 0x1004cece
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x1004cece
push eax
call fcn.100b3828
add esp, 4
test byte [edi + 0x18], 1
je 0x1004cee4
mov eax, dword [edi + 0x14]
test eax, eax
je 0x1004cee4
push eax
call fcn.100b3828
add esp, 4
mov edx, dword [edi + 8]
push edx
call fcn.10046600
mov eax, dword [edi + 0xc]
add esp, 4
push eax
call fcn.10046600
mov ebx, dword [edi + 0x10]
add esp, 4
call fcn.10046d60
mov esi, dword [edi + 0x38]
call fcn.100409b0
push edi
call fcn.100b3828
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0x28]
add esp, 4
mov eax, dword [esi + 4]
test eax, eax
je 0x1004cf2d
push eax
call fcn.100b3828
add esp, 4
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x5c]
inc eax
add esi, 0xc
mov dword [esp + 0x10], eax
mov dword [esp + 0x24], esi
cmp eax, dword [ecx]
jl 0x1004ceb2
mov esi, dword [esp + 0x5c]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x1004cf5d
push eax
call fcn.100b3828
add esp, 4
push esi
call fcn.100b3828
mov edi, dword [esp + 0x18]
add esp, 4
mov edx, dword [edi + 0xc]
push edx
call fcn.1002e330
mov eax, dword [edi + 0x10]
add esp, 4
push eax
call fcn.10046600
mov eax, dword [edi + 0x14]
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
je 0x1004d068
cmp dword [eax], 0
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x5c], 0
jle 0x1004d047
mov esi, ecx
jmp 0x1004cfb0
mov edi, dword [esi]
test edi, edi
je 0x1004d01b
test byte [edi + 0x20], 1
je 0x1004cfcc
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x1004cfcc
push eax
call fcn.100b3828
add esp, 4
test byte [edi + 0x18], 1
je 0x1004cfe2
mov eax, dword [edi + 0x14]
test eax, eax
je 0x1004cfe2
push eax
call fcn.100b3828
add esp, 4
mov edx, dword [edi + 8]
push edx
call fcn.10046600
mov eax, dword [edi + 0xc]
add esp, 4
push eax
call fcn.10046600
mov ebx, dword [edi + 0x10]
add esp, 4
call fcn.10046d60
mov esi, dword [edi + 0x38]
call fcn.100409b0
push edi
call fcn.100b3828
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0x28]
add esp, 4
mov eax, dword [esi + 4]
test eax, eax
je 0x1004d02b
push eax
call fcn.100b3828
add esp, 4
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x10]
inc eax
add esi, 0xc
mov dword [esp + 0x5c], eax
mov dword [esp + 0x24], esi
cmp eax, dword [ecx]
jl 0x1004cfb0
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x1004d05b
push eax
call fcn.100b3828
add esp, 4
push esi
call fcn.100b3828
mov edi, dword [esp + 0x18]
add esp, 4
mov edx, dword [edi + 0x18]
push edx
call fcn.10046600
mov eax, dword [edi + 0x1c]
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
je 0x1004d158
cmp dword [eax], 0
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x5c], 0
jle 0x1004d137
mov esi, ecx
lea ecx, [ecx]
mov edi, dword [esi]
test edi, edi
je 0x1004d10b
test byte [edi + 0x20], 1
je 0x1004d0bc
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x1004d0bc
push eax
call fcn.100b3828
add esp, 4
test byte [edi + 0x18], 1
je 0x1004d0d2
mov eax, dword [edi + 0x14]
test eax, eax
je 0x1004d0d2
push eax
call fcn.100b3828
add esp, 4
mov edx, dword [edi + 8]
push edx
call fcn.10046600
mov eax, dword [edi + 0xc]
add esp, 4
push eax
call fcn.10046600
mov ebx, dword [edi + 0x10]
add esp, 4
call fcn.10046d60
mov esi, dword [edi + 0x38]
call fcn.100409b0
push edi
call fcn.100b3828
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0x28]
add esp, 4
mov eax, dword [esi + 4]
test eax, eax
je 0x1004d11b
push eax
call fcn.100b3828
add esp, 4
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x10]
inc eax
add esi, 0xc
mov dword [esp + 0x5c], eax
mov dword [esp + 0x24], esi
cmp eax, dword [ecx]
jl 0x1004d0a0
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x1004d14b
push eax
call fcn.100b3828
add esp, 4
push esi
call fcn.100b3828
mov edi, dword [esp + 0x18]
add esp, 4
mov esi, dword [edi + 0x20]
call fcn.100409b0
mov edx, dword [edi + 0x28]
push edx
call fcn.10046600
mov eax, dword [edi + 0x2c]
add esp, 4
push eax
call fcn.10046600
add esp, 4
push edi
call fcn.100b3828
add esp, 4
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
xor edx, edx
call fcn.10053750
add esp, 8
mov dword [esp + 0x60], eax
test eax, eax
je 0x1004e40f
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004d1d3
mov edi, ebx
call fcn.10026660
xor esi, esi
cmp dword [0x10112c64], esi
je 0x1004d1cd
cmp dword [0x10112c70], esi
jg 0x1004d1f8
mov eax, dword [esp + 0x10]
jmp 0x1004d1d5
xor esi, esi
mov ecx, dword [ebx + 0x18]
mov edx, dword [esp + 0x1c]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x57
mov dword [eax + 4], edx
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004d221
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004d221
cmp dword [0x10112c70], esi
jg 0x1004d244
mov ecx, dword [ebx + 0x18]
mov eax, dword [esp + 0x10]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0xc
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov edx, dword [esp + 0x60]
push edx
call fcn.100557f0
mov eax, dword [esp + 0x58]
add esp, 4
test byte [eax + 8], 0x80
je 0x1004d2b2
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xac], esi
jne 0x1004d2b2
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004d28f
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004d28f
cmp dword [0x10112c70], esi
jg 0x1004d2b2
mov eax, dword [esp + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x18]
lea eax, [eax + edx*4]
mov byte [eax], 0x2a
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
cmp dword [esp + 0x50], esi
je 0x1004d9e2
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004d2e5
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004d2e5
cmp dword [0x10112c70], esi
jg 0x1004d30c
mov edx, dword [ebx + 0x18]
mov eax, dword [esp + 0x10]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x3c]
mov byte [eax], 0x15
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 4]
mov dword [esp + 0x60], eax
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004d340
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004d340
cmp dword [0x10112c70], esi
jg 0x1004d36b
mov edx, dword [ebx + 0x18]
mov eax, dword [esp + 0x10]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x60]
mov byte [eax], 0x11
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004d394
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004d394
cmp dword [0x10112c70], esi
jg 0x1004d3bb
mov ecx, dword [ebx + 0x18]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x38]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x15
mov dword [eax + 4], edx
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 4]
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x60], ecx
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004d3ef
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004d3ef
cmp dword [0x10112c70], esi
jg 0x1004d41a
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x18]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x60]
mov byte [eax], 0x11
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004d449
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004d449
cmp dword [0x10112c70], esi
jle 0x1004d449
mov dword [esp + 0x20], esi
jmp 0x1004d470
mov edx, dword [ebx + 0x18]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
mov byte [eax], 0x75
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov dword [esp + 0x20], ecx
cmp dword [esp + 0x30], esi
jne 0x1004d4dd
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004d49f
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004d49f
cmp dword [0x10112c70], esi
jg 0x1004d4c2
mov ecx, dword [ebx + 0x18]
mov eax, dword [esp + 0x10]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0xa
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 8]
push 0x17
push edx
push eax
mov eax, dword [esp + 0x24]
call fcn.10049890
add esp, 0xc
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004d506
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004d506
cmp dword [0x10112c70], esi
jg 0x1004d52d
mov edx, dword [ebx + 0x18]
mov eax, dword [esp + 0x10]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x1c]
mov byte [eax], 0x6f
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004d556
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004d556
cmp dword [0x10112c70], esi
jg 0x1004d57d
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x18]
lea eax, [eax + edx*4]
mov byte [eax], 0x57
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004d5a6
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004d5a6
cmp dword [0x10112c70], esi
jg 0x1004d5cd
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x18]
lea eax, [eax + edx*4]
mov byte [eax], 0x1e
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004d5f6
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004d5f6
cmp dword [0x10112c70], esi
jg 0x1004d61d
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x3c]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x18]
lea eax, [eax + edx*4]
mov byte [eax], 0x61
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
cmp dword [esp + 0x28], esi
je 0x1004d687
mov edx, dword [ebp + 8]
mov edi, dword [edx + 0xc]
cmp edi, esi
je 0x1004d6d7
mov ecx, dword [esp + 0x48]
mov eax, dword [edi + 0x10]
push ecx
push edx
mov dword [esp + 0x64], eax
call fcn.10048150
mov eax, dword [esp + 0x64]
inc eax
add esp, 8
cmp dword [edi + 0x10], eax
jg 0x1004d660
mov eax, dword [esp + 0x5c]
mov edx, dword [edi + 0x18]
lea ecx, [eax + eax*4]
cmp byte [edx + ecx*4], 0x7b
jne 0x1004d6d7
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x20]
mov edx, dword [esp + 0x48]
push esi
push eax
mov dword [edx + 0x24], eax
inc dword [ecx + 0x20]
push 0x6c
mov eax, edi
call fcn.10026710
mov eax, dword [esp + 0x54]
add esp, 0xc
mov byte [eax], 0x7e
jmp 0x1004d6d7
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004d6b0
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004d6b0
cmp dword [0x10112c70], esi
jg 0x1004d6d7
mov edx, dword [ebx + 0x18]
mov eax, dword [esp + 0x10]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x1c]
mov byte [eax], 0x57
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov edx, dword [esp + 0x18]
mov dword [esp + 0x14], esi
cmp dword [edx + 4], esi
jle 0x1004d88d
jmp 0x1004d6f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
cmp eax, dword [ecx + 0xc]
jne 0x1004d752
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004d72a
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004d72a
cmp dword [0x10112c70], esi
jg 0x1004d877
mov eax, dword [esp + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x18]
lea eax, [eax + edx*4]
mov byte [eax], 0x36
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
jmp 0x1004d877
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + eax*4]
cmp eax, esi
jge 0x1004d7c5
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004d786
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004d786
cmp dword [0x10112c70], esi
jg 0x1004d7b1
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x18]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x14]
mov byte [eax], 0x62
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, ebx
call fcn.1004c5e0
jmp 0x1004d877
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0xc]
mov ecx, dword [ebp + 8]
mov edi, dword [ecx + 0xc]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*4]
mov dword [esp + 0x10], eax
cmp edi, esi
je 0x1004d877
mov edx, dword [edi + 0x10]
push eax
push ecx
mov dword [esp + 0x64], edx
call fcn.10048150
mov edx, dword [esp + 0x64]
inc edx
add esp, 8
cmp dword [edi + 0x10], edx
jg 0x1004d80e
mov eax, dword [esp + 0x5c]
mov ecx, dword [edi + 0x18]
lea eax, [eax + eax*4]
cmp byte [ecx + eax*4], 0x7b
jne 0x1004d877
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x10]
mov dword [edx + 0x24], ecx
inc dword [eax + 0x20]
mov eax, dword [edi + 0x10]
mov dword [esp + 0x24], ecx
lea ecx, [eax + 1]
mov dword [esp + 0x60], eax
mov dword [edi + 0x10], ecx
cmp dword [edi + 0x14], eax
jg 0x1004d849
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004d849
cmp dword [0x10112c70], esi
jg 0x1004d870
mov ecx, dword [edi + 0x18]
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x6c
mov dword [eax + 4], edx
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [edi + 0x238], 0
mov eax, dword [esp + 0x10]
mov byte [eax], 0x7e
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [ecx + 4]
jl 0x1004d6f0
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 4]
mov dword [esp + 0x60], eax
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004d8c1
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004d8c1
cmp dword [0x10112c70], esi
jg 0x1004d8e8
mov edx, dword [ebx + 0x18]
mov eax, dword [esp + 0x10]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x60]
mov byte [eax], 0x5a
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
cmp dword [esp + 0x30], esi
jne 0x1004d8fb
mov eax, dword [esp + 0x18]
push ebx
call fcn.1004e940
add esp, 4
mov edx, dword [ebp + 8]
cmp dword [edx + 0x18], esi
jne 0x1004e40f
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004d930
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004d930
cmp dword [0x10112c70], esi
jg 0x1004d957
mov ecx, dword [ebx + 0x18]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x38]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x61
mov dword [eax + 4], edx
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
cmp dword [esp + 0x30], esi
jne 0x1004d9ad
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004d986
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004d986
cmp dword [0x10112c70], esi
jg 0x1004d9ad
mov ecx, dword [ebx + 0x18]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x67
mov dword [eax + 4], edx
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov eax, dword [esp + 0x20]
mov ecx, dword [ebp + 0x18]
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x3c]
push ecx
mov ecx, dword [ebp + 0x10]
push edx
mov edx, dword [ebp + 8]
push eax
push edi
push 1
push ecx
push 0x63
push edx
call fcn.10039750
add esp, 0x24
test eax, eax
je 0x1004d9e6
jmp 0x1004e40f
mov edi, dword [esp + 0x18]
cmp dword [esp + 0x30], esi
jne 0x1004df99
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
push 0x16
push eax
push ecx
mov ecx, dword [ebp + 8]
mov eax, edi
call fcn.10049890
mov ecx, 5
add esp, 0xc
cmp dword [ebp + 0x18], ecx
je 0x1004da2e
mov eax, dword [edi + 0x10]
mov dword [esp + 0x4c], esi
cmp eax, esi
je 0x1004da36
mov edi, edi
cmp byte [eax + 0x18], cl
je 0x1004da2e
mov eax, dword [eax + 0x20]
cmp eax, esi
jne 0x1004da20
jmp 0x1004da36
mov dword [esp + 0x4c], 1
mov edi, dword [edi + 0x10]
mov dword [esp + 0x14], esi
mov dword [esp + 0x24], edi
cmp edi, esi
je 0x1004dc0d
lea esp, [esp]
cmp dword [esp + 0x4c], esi
jne 0x1004da68
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x34]
cmp byte [edx + eax], 0
je 0x1004dbf6
mov ecx, dword [esp + 0x24]
mov edx, dword [ebp + 8]
push ecx
push edx
call fcn.1002ef30
mov dword [esp + 0x64], eax
mov eax, dword [ebx + 0x10]
add esp, 8
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004daa6
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004daa6
cmp dword [0x10112c70], esi
jg 0x1004dacd
mov ecx, dword [ebx + 0x18]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x2a
mov dword [eax + 4], edx
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x14]
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x60], ecx
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004db05
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004db05
cmp dword [0x10112c70], esi
jle 0x1004db05
xor eax, eax
jmp 0x1004db3a
mov eax, dword [ebx + 0x18]
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x1c]
lea edx, [edx + edi + 1]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x60]
mov byte [eax], 0x16
mov dword [eax + 8], edx
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov eax, ecx
mov edi, dword [ebx + 0x18]
cmp edi, esi
je 0x1004dbe5
cmp dword [0x10112c64], esi
je 0x1004db59
cmp dword [0x10112c70], esi
jg 0x1004dbe5
cmp eax, esi
jl 0x1004db62
cmp eax, dword [ebx + 0x10]
jl 0x1004db6c
mov eax, dword [ebx + 0x10]
dec eax
js 0x1004dbf6
lea eax, [eax + eax*4]
lea edi, [edi + eax*4]
mov eax, dword [edi + 0xc]
mov dword [esp + 0x60], eax
cmp eax, esi
je case.0x1004db8f.5
mov ecx, dword [edi + 0x10]
add ecx, 9
cmp ecx, 8
ja case.0x1004db8f.5
movzx ecx, byte [ecx + 0x1004e7a0]
jmp dword [ecx*4 + 0x1004e790]
push eax
call fcn.100b3828
add esp, 4
jmp case.0x1004db8f.5
push esi
mov ebx, eax
call fcn.10027d90
mov edx, dword [esp + 0x64]
add esp, 4
push edx
call fcn.100b3828
mov ebx, dword [esp + 0x48]
add esp, 4
xor esi, esi
jmp case.0x1004db8f.5
call fcn.10026560
mov eax, dword [esp + 0x5c]
mov dword [edi + 0xc], esi
cmp eax, esi
jne 0x1004dbd9
mov dword [edi + 0xc], esi
mov dword [edi + 0x10], esi
jmp 0x1004dbf6
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], 0xfffffffa
jmp 0x1004dbf6
mov eax, dword [esp + 0x5c]
cmp eax, esi
je 0x1004dbf6
push eax
call fcn.100b3828
add esp, 4
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x20]
inc dword [esp + 0x14]
mov dword [esp + 0x24], eax
cmp eax, esi
jne 0x1004da50
cmp dword [esp + 0x50], esi
jne 0x1004dc69
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004dc42
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004dc42
cmp dword [0x10112c70], esi
jle 0x1004dc42
mov dword [esp + 0x20], esi
jmp 0x1004dc69
mov eax, dword [ebx + 0x18]
mov ecx, dword [esp + 0x10]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x75
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov dword [esp + 0x20], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x20]
mov dword [esp + 0x24], eax
inc eax
mov dword [ecx + 0x20], eax
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004dca0
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004dca0
cmp dword [0x10112c70], esi
jg 0x1004dcc7
mov edx, dword [ebx + 0x18]
mov eax, dword [esp + 0x10]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x24]
mov byte [eax], 0x6c
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004dcf0
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004dcf0
cmp dword [0x10112c70], esi
jg 0x1004dd1b
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x18]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x20]
mov byte [eax], 0x1f
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004dd44
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004dd44
cmp dword [0x10112c70], esi
jg 0x1004dd6b
mov ecx, dword [ebx + 0x18]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x31
mov dword [eax + 4], edx
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
cmp dword [esp + 0x28], esi
je 0x1004ddce
mov eax, dword [esp + 0x48]
mov ecx, dword [ebp + 8]
push eax
push ecx
call fcn.10048150
mov eax, dword [ebx + 0x10]
add esp, 8
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004ddab
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004ddab
cmp dword [0x10112c70], esi
jg 0x1004ddce
mov eax, dword [esp + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x18]
lea eax, [eax + edx*4]
mov byte [eax], 0x70
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x14], esi
cmp dword [ecx + 4], esi
jle 0x1004dee1
nop
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
cmp eax, dword [edx + 0xc]
jne 0x1004de42
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004de1a
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004de1a
cmp dword [0x10112c70], esi
jg 0x1004decb
mov ecx, dword [ebx + 0x18]
mov eax, dword [esp + 0x10]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x36
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
jmp 0x1004decb
mov edx, dword [esp + 0x40]
mov eax, dword [edx + eax*4]
cmp eax, esi
jge 0x1004deb2
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004de76
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004de76
cmp dword [0x10112c70], esi
jg 0x1004dea1
mov ecx, dword [ebx + 0x18]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x14]
mov byte [eax], 0x62
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, ebx
call fcn.1004c5e0
jmp 0x1004decb
lea edx, [eax + eax*2]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + edx*4]
mov eax, dword [ebp + 8]
push edx
push eax
call fcn.10048150
add esp, 8
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [ecx + 4]
jl 0x1004dde0
mov edx, dword [esp + 0x20]
mov eax, dword [ebp + 0x18]
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x34]
push edx
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [ebp + 8]
push 1
push ecx
mov ecx, dword [esp + 0x28]
push edi
push edx
push eax
call fcn.1004ff20
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
add esp, 0x1c
push edi
push ecx
mov ecx, ebx
call fcn.1004a140
add esp, 8
cmp dword [esp + 0x28], esi
je 0x1004df75
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004df4e
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004df4e
cmp dword [0x10112c70], esi
jg 0x1004df75
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x18]
lea eax, [eax + edx*4]
mov byte [eax], 6
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
push 0xffffffffffffffff
push 1
push edx
mov edx, dword [esp + 0x24]
push eax
mov eax, dword [ebp + 8]
push ecx
push edx
push eax
call fcn.10050f60
add esp, 0x1c
mov ecx, dword [esp + 0x54]
test byte [ecx + 8], 0x80
je 0x1004dffe
mov edx, dword [ebp + 8]
cmp dword [edx + 0xac], esi
jne 0x1004dffe
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004dfd7
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004dfd7
cmp dword [0x10112c70], esi
jg 0x1004dffe
mov ecx, dword [ebx + 0x18]
mov eax, dword [esp + 0x10]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x35
mov dword [eax + 4], 1
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
cmp dword [esp + 0x50], esi
je 0x1004e133
cmp dword [esp + 0x30], esi
jne 0x1004e0ff
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x10]
mov dword [esp + 0x14], esi
mov dword [esp + 0x24], eax
cmp eax, esi
je 0x1004e0af
lea esp, [esp]
cmp dword [esp + 0x4c], esi
jne 0x1004e044
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
cmp byte [eax + ecx], 0
je 0x1004e09c
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004e06d
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004e06d
cmp dword [0x10112c70], esi
jg 0x1004e09c
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x18]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x14]
lea ecx, [ecx + edx + 1]
mov byte [eax], 0x67
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x20]
inc dword [esp + 0x14]
mov dword [esp + 0x24], eax
cmp eax, esi
jne 0x1004e030
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004e0d8
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004e0d8
cmp dword [0x10112c70], esi
jg 0x1004e0ff
mov ecx, dword [ebx + 0x18]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x67
mov dword [eax + 4], edx
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov eax, dword [esp + 0x20]
mov ecx, dword [ebp + 0x18]
mov edx, dword [esp + 0x3c]
push eax
mov eax, dword [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 8]
push ecx
push 2
push edx
push 0x63
push eax
call fcn.10039750
add esp, 0x24
test eax, eax
jne 0x1004e40f
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004e15c
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004e15c
cmp dword [0x10112c70], esi
jg 0x1004e185
mov edx, dword [ebx + 0x18]
mov eax, dword [esp + 0x10]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x20]
mov byte [eax], 0x5c
mov dword [eax + 4], esi
mov dword [eax + 8], ecx
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
jmp 0x1004e189
mov ecx, dword [esp + 0x20]
cmp ecx, esi
jl 0x1004e1a2
mov edx, dword [ebx + 0x10]
cmp edx, ecx
jle 0x1004e1a2
mov eax, dword [ebx + 0x18]
cmp eax, esi
je 0x1004e1a2
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4 + 8], edx
cmp dword [esp + 0x50], esi
jne 0x1004e275
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x10]
mov dword [esp + 0x14], esi
mov dword [esp + 0x24], eax
cmp eax, esi
je 0x1004e242
cmp dword [esp + 0x4c], esi
jne 0x1004e1d7
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
cmp byte [eax + ecx], 0
je 0x1004e22f
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004e200
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004e200
cmp dword [0x10112c70], esi
jg 0x1004e22f
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x18]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x14]
lea ecx, [ecx + edx + 1]
mov byte [eax], 0x67
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x20]
inc dword [esp + 0x14]
mov dword [esp + 0x24], eax
cmp eax, esi
jne 0x1004e1c3
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004e26f
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004e26f
cmp dword [0x10112c70], esi
jg 0x1004e315
mov edx, dword [esp + 0x1c]
jmp 0x1004e2f2
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004e29e
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004e29e
cmp dword [0x10112c70], esi
jg 0x1004e2c5
mov ecx, dword [ebx + 0x18]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x38]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x67
mov dword [eax + 4], edx
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004e2ee
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004e2ee
cmp dword [0x10112c70], esi
jg 0x1004e315
mov edx, dword [esp + 0x3c]
mov ecx, dword [ebx + 0x18]
mov eax, dword [esp + 0x10]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x67
mov dword [eax + 4], edx
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov eax, dword [esp + 0x54]
test byte [eax + 8], 0x80
je 0x1004e40f
mov eax, dword [ebp + 8]
cmp dword [eax + 0xac], esi
jne 0x1004e40f
cmp byte [eax + 0x13], 0
jne 0x1004e40f
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x1004e365
mov edi, ebx
call fcn.10026660
cmp dword [0x10112c64], esi
je 0x1004e365
cmp dword [0x10112c70], esi
jg 0x1004e38c
mov edx, dword [ebx + 0x18]
mov eax, dword [esp + 0x10]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov byte [eax], 0x3e
mov dword [eax + 4], 1
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
push ebx
mov eax, 1
call fcn.100274a0
add esp, 4
cmp dword [0x10112c64], esi
je 0x1004e3aa
cmp dword [0x10112c70], esi
jg 0x1004e40f
mov ebx, dword [ebx + 0x34]
movzx ecx, word [ebx + 0x18]
test ecx, 0x440
je 0x1004e3fa
mov eax, dword [ebx + 0x1c]
cmp eax, esi
je 0x1004e3e4
test ecx, 0x400
je 0x1004e3dc
mov ecx, dword [ebx]
call fcn.10025820
push ebx
call fcn.100258c0
add esp, 4
xor esi, esi
jmp 0x1004e3f4
mov ecx, dword [ebx + 0x10]
push ecx
call eax
jmp 0x1004e3f1
mov eax, dword [ebx + 0x10]
cmp eax, esi
je 0x1004e3f4
push eax
call fcn.100b3828
add esp, 4
mov dword [ebx + 0x10], esi
mov dword [ebx + 0x1c], esi
mov dword [ebx + 0x10], str.rows_updated
mov dword [ebx + 0x14], 0xc
mov dword [ebx + 0x18], 0x10300a2
mov eax, dword [esp + 0x68]
test eax, eax
je 0x1004e421
mov ecx, dword [esp + 0x64]
mov dword [eax + 0xb0], ecx
cmp dword [esp + 0x58], 0
je 0x1004e435
mov edx, dword [esp + 0x58]
push edx
call fcn.100b3828
add esp, 4
mov eax, dword [esp + 0x40]
push eax
call fcn.100b3828
add esp, 4
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.1002e330
mov eax, dword [ebp + 0x10]
add esp, 4
test eax, eax
je 0x1004e592
cmp dword [eax], 0
mov edx, dword [eax + 0xc]
mov dword [esp + 0x58], edx
mov dword [esp + 0x54], 0
jle 0x1004e576
mov esi, edx
mov edi, dword [esi]
test edi, edi
je 0x1004e54b
test byte [edi + 0x20], 1
je 0x1004e493
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x1004e493
push eax
call fcn.100b3828
add esp, 4
test byte [edi + 0x18], 1
je 0x1004e4a9
mov eax, dword [edi + 0x14]
test eax, eax
je 0x1004e4a9
push eax
call fcn.100b3828
add esp, 4
mov eax, dword [edi + 8]
push eax
call fcn.10046600
mov ecx, dword [edi + 0xc]
add esp, 4
push ecx
call fcn.10046600
mov ebx, dword [edi + 0x10]
add esp, 4
call fcn.10046d60
mov eax, dword [edi + 0x38]
mov dword [esp + 0x5c], eax
test eax, eax
je 0x1004e542
mov esi, eax
mov ebx, dword [esi]
call fcn.10046d60
mov edx, dword [esi + 0xc]
push edx
call fcn.1002e330
mov eax, dword [esi + 0x10]
add esp, 4
push eax
call fcn.10046600
mov ebx, dword [esi + 0x14]
add esp, 4
call fcn.10046d60
mov ecx, dword [esi + 0x18]
push ecx
call fcn.10046600
mov ebx, dword [esi + 0x1c]
add esp, 4
call fcn.10046d60
mov esi, dword [esi + 0x20]
call fcn.100409b0
mov esi, dword [esp + 0x5c]
mov edx, dword [esi + 0x28]
push edx
call fcn.10046600
mov eax, dword [esi + 0x2c]
add esp, 4
push eax
call fcn.10046600
add esp, 4
push esi
call fcn.100b3828
mov esi, dword [esp + 0x5c]
add esp, 4
push edi
call fcn.100b3828
add esp, 4
mov eax, dword [esi + 4]
test eax, eax
je 0x1004e55b
push eax
call fcn.100b3828
add esp, 4
mov eax, dword [esp + 0x54]
mov ecx, dword [ebp + 0x10]
inc eax
add esi, 0xc
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], esi
cmp eax, dword [ecx]
jl 0x1004e473
mov esi, dword [ebp + 0x10]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x1004e589
push eax
call fcn.100b3828
add esp, 4
push esi
call fcn.100b3828
add esp, 4
mov esi, dword [ebp + 0x14]
test esi, esi
je 0x1004e789
test byte [esi + 0x20], 1
je 0x1004e5b3
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x1004e5b3
push eax
call fcn.100b3828
add esp, 4
test byte [esi + 0x18], 1
je 0x1004e5c9
mov eax, dword [esi + 0x14]
test eax, eax
je 0x1004e5c9
push eax
call fcn.100b3828
add esp, 4
mov edx, dword [esi + 8]
push edx
call fcn.10046600
mov eax, dword [esi + 0xc]
add esp, 4
push eax
call fcn.10046600
mov edi, dword [esi + 0x10]
add esp, 4
test edi, edi
je 0x1004e62d
mov esi, dword [edi + 0xc]
xor ebx, ebx
cmp dword [edi], ebx
jle 0x1004e614
mov ecx, dword [esi]
push ecx
call fcn.10046600
mov eax, dword [esi + 4]
add esp, 4
test eax, eax
je 0x1004e60c
push eax
call fcn.100b3828
add esp, 4
inc ebx
add esi, 0xc
cmp ebx, dword [edi]
jl 0x1004e5f1
mov eax, dword [edi + 0xc]
test eax, eax
je 0x1004e624
push eax
call fcn.100b3828
add esp, 4
push edi
call fcn.100b3828
add esp, 4
mov edx, dword [ebp + 0x14]
mov ebx, dword [edx + 0x38]
mov dword [esp + 0x58], ebx
test ebx, ebx
je 0x1004e77d
mov edi, dword [ebx]
test edi, edi
je 0x1004e690
mov esi, dword [edi + 0xc]
xor ebx, ebx
cmp dword [edi], ebx
jle 0x1004e673
mov edi, edi
mov eax, dword [esi]
push eax
call fcn.10046600
mov eax, dword [esi + 4]
add esp, 4
test eax, eax
je 0x1004e66b
push eax
call fcn.100b3828
add esp, 4
inc ebx
add esi, 0xc
cmp ebx, dword [edi]
jl 0x1004e650
mov eax, dword [edi + 0xc]
test eax, eax
je 0x1004e683
push eax
call fcn.100b3828
add esp, 4
push edi
call fcn.100b3828
mov ebx, dword [esp + 0x5c]
add esp, 4
mov ecx, dword [ebx + 0xc]
push ecx
call fcn.1002e330
mov edx, dword [ebx + 0x10]
add esp, 4
push edx
call fcn.10046600
mov edi, dword [ebx + 0x14]
add esp, 4
test edi, edi
je 0x1004e6f8
mov esi, dword [edi + 0xc]
xor ebx, ebx
cmp dword [edi], ebx
jle 0x1004e6db
mov eax, dword [esi]
push eax
call fcn.10046600
mov eax, dword [esi + 4]
add esp, 4
test eax, eax
je 0x1004e6d3
push eax
call fcn.100b3828
add esp, 4
inc ebx
add esi, 0xc
cmp ebx, dword [edi]
jl 0x1004e6b8
mov eax, dword [edi + 0xc]
test eax, eax
je 0x1004e6eb
push eax
call fcn.100b3828
add esp, 4
push edi
call fcn.100b3828
mov ebx, dword [esp + 0x5c]
add esp, 4
mov ecx, dword [ebx + 0x18]
push ecx
call fcn.10046600
mov edi, dword [ebx + 0x1c]
add esp, 4
test edi, edi
je 0x1004e754
mov esi, dword [edi + 0xc]
xor ebx, ebx
cmp dword [edi], ebx
jle 0x1004e737
mov edx, dword [esi]
push edx
call fcn.10046600
mov eax, dword [esi + 4]
add esp, 4
test eax, eax
je 0x1004e72f
push eax
call fcn.100b3828
add esp, 4
inc ebx
add esi, 0xc
cmp ebx, dword [edi]
jl 0x1004e714
mov eax, dword [edi + 0xc]
test eax, eax
je 0x1004e747
push eax
call fcn.100b3828
add esp, 4
push edi
call fcn.100b3828
mov ebx, dword [esp + 0x5c]
add esp, 4
mov esi, dword [ebx + 0x20]
call fcn.100409b0
mov eax, dword [ebx + 0x28]
push eax
call fcn.10046600
mov ecx, dword [ebx + 0x2c]
add esp, 4
push ecx
call fcn.10046600
add esp, 4
push ebx
call fcn.100b3828
add esp, 4
mov edx, dword [ebp + 0x14]
push edx
call fcn.100b3828
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret