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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa4
push ebx
xor ebx, ebx
push esi
or eax, 0xffffffff
push edi
mov edi, dword [ebp + 8]
mov esi, dword [edi]
mov dword [esp + 0x40], eax
mov dword [esp + 0x58], eax
xor eax, eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x24], esi
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
cmp dword [edi + 0x40], ebx
jne 0x10051d4c
cmp byte [esi + 0x1e], al
jne 0x10051d4c
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0xc], ebx
je 0x10051d4c
call fcn.1004db80
mov dword [esp + 0xc], eax
cmp eax, ebx
je 0x10051d48
mov edi, dword [esp + 0x24]
mov ebx, eax
mov esi, dword [ebx + 0x48]
mov ecx, edi
call fcn.10058530
mov ecx, dword [edi + 8]
mov edx, dword [ebx + 4]
mov dword [esp + 0x74], eax
lea eax, [eax + eax*2]
mov eax, dword [ecx + eax*8]
push eax
mov eax, dword [ebp + 8]
push 0
push edx
push 0x12
call fcn.10047230
add esp, 0x10
test eax, eax
jne 0x10051d48
mov edi, dword [ebp + 8]
lea eax, [esp + 0x54]
push eax
push 0
mov esi, ebx
push 0x6b
mov ecx, esi
mov eax, edi
call fcn.10062c70
mov edx, dword [esp + 0x60]
xor ecx, ecx
add esp, 0xc
cmp dword [esi + 0x1c], ecx
mov dword [esp + 0x4c], eax
setne cl
push edx
mov eax, esi
mov edx, edi
mov dword [esp + 0x74], ecx
call fcn.1004dc50
add esp, 4
test eax, eax
jne 0x10051d48
mov eax, ebx
push eax
mov ecx, edi
push ecx
call fcn.1004a030
add esp, 8
test eax, eax
jne 0x10051d48
mov eax, edi
call fcn.1005b500
mov ebx, eax
test ebx, ebx
je 0x10051d48
cmp byte [edi + 0x13], 0
jne 0x10051978
mov byte [ebx + 0x7d], 1
cmp dword [ebp + 0x14], 0
jne 0x10051989
cmp dword [esp + 0x4c], 0
jne 0x10051989
xor eax, eax
jmp 0x1005198e
mov eax, 1
mov esi, dword [esp + 0x74]
push esi
push eax
mov eax, edi
call fcn.1004c900
add esp, 8
cmp dword [esp + 0x4c], 0
je 0x100519b0
mov eax, dword [edi + 0x44]
mov dword [esp + 0x58], eax
inc eax
mov dword [edi + 0x44], eax
cmp dword [ebp + 0x18], 0
jne 0x100519d4
mov edx, dword [ebp + 0x1c]
mov eax, dword [esp + 0xc]
push esi
push edx
push eax
mov eax, dword [ebp + 0x14]
push edi
call fcn.100549c0
add esp, 0x10
test eax, eax
jne 0x10051d48
mov ecx, dword [esp + 0xc]
push ecx
mov edx, esi
mov ecx, edi
call fcn.10051290
add esp, 4
cmp dword [ebp + 0x14], 0
mov dword [esp + 0x5c], eax
je 0x10051bdf
inc dword [edi + 0x48]
mov eax, dword [edi + 0x48]
push eax
xor esi, esi
mov dword [esp + 0x14], eax
push esi
push 0x30
mov eax, ebx
call fcn.10032ab0
mov eax, dword [edi + 0x48]
inc eax
mov dword [edi + 0x48], eax
add esp, 0xc
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], esi
mov esi, dword [ebx + 0xc]
push eax
lea edx, [esi + 1]
push edx
mov dword [esp + 0x88], eax
push 0x30
mov eax, ebx
mov word [esp + 0x88], 0xa
call fcn.10032ab0
add esp, 0xc
push 0
push 0
push 0x60
mov eax, ebx
call fcn.10032ab0
mov ecx, dword [ebp + 0x14]
add esp, 0xc
mov dword [esp + 0x64], eax
lea eax, [esp + 0x7c]
push eax
push ecx
push edi
call fcn.10060030
add esp, 0xc
test eax, eax
jne 0x10051d48
cmp dword [edi + 0x40], eax
jne 0x10051d48
mov edx, dword [esp + 0x24]
cmp byte [edx + 0x1e], al
jne 0x10051d48
mov eax, dword [esp + 0x10]
push eax
push 1
push 0x30
mov eax, ebx
call fcn.10032ab0
mov ecx, dword [esp + 0x8c]
add esp, 0xc
push ecx
push 0x3c
mov eax, ebx
call fcn.10032a60
push 2
push 2
push 0x27
mov eax, ebx
call fcn.10032ab0
mov eax, dword [esp + 0x78]
add esp, 0x14
mov ecx, ebx
call fcn.10032f70
cmp dword [esp + 0x4c], 0
mov edx, dword [esp + 0x84]
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
mov dword [esp + 0x64], edx
mov edx, dword [ecx]
mov dword [esp + 0x48], edx
jne 0x10051b05
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x74]
push eax
push ecx
push ebx
lea eax, [esi + 2]
call fcn.100511f0
add esp, 0xc
test eax, eax
je 0x10051c89
mov esi, dword [edi + 0x44]
lea edx, [esi + 1]
mov ecx, edi
mov dword [esp + 0x50], 1
mov dword [esp + 0x3c], esi
mov dword [edi + 0x44], edx
call fcn.10043d00
mov dword [esp + 0x20], eax
call fcn.10043d00
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x48]
push eax
push esi
push 0x76
mov eax, ebx
call fcn.10032ab0
mov ecx, dword [esp + 0x8c]
add esp, 0xc
push ecx
push 0x3c
mov eax, ebx
call fcn.10032a60
mov edx, dword [esp + 0x18]
push edx
mov dword [esp + 0x34], eax
push 0xb
mov eax, ebx
call fcn.10032a60
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x94]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x30]
push eax
push ecx
push edx
push 0x4f
mov eax, ebx
call fcn.100329b0
mov eax, dword [esp + 0x54]
push eax
push esi
push 0x1a
mov eax, ebx
call fcn.10032ab0
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x4c]
add esp, 0x2c
push ecx
push edx
push esi
push 0x6e
mov eax, ebx
call fcn.100329b0
mov eax, dword [esp + 0x38]
push eax
push 0
push 0x60
mov eax, ebx
call fcn.10032ab0
mov eax, dword [esp + 0x54]
add esp, 0x1c
mov ecx, ebx
call fcn.10032f70
mov esi, dword [esp + 0x20]
mov edx, edi
call fcn.10043d20
mov esi, dword [esp + 0x34]
call fcn.10043d20
jmp 0x10051c89
xor eax, 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 + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x8c], edi
mov dword [esp + 0x3c], 0xffffffff
test eax, eax
je 0x10051c3a
mov eax, dword [eax]
jmp 0x10051c3c
xor eax, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x14], 0
test eax, eax
jle 0x10051c89
mov dword [esp + 0x20], 0
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0xc]
mov eax, dword [esp + 0x20]
mov edi, dword [eax + edx]
lea esi, [esp + 0x8c]
call fcn.1003ed40
test eax, eax
jne 0x10051d48
mov eax, dword [esp + 0x14]
add dword [esp + 0x20], 0x10
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x48]
jl 0x10051c54
mov edx, dword [esp + 0xc]
test byte [edx + 0x22], 0x10
je 0x10051d07
mov edi, dword [edx + 0xc]
xor esi, esi
xor ecx, ecx
xor eax, eax
cmp edi, 2
jl 0x10051cd5
mov eax, dword [edx + 0x10]
add edi, 0xfffffffe
shr edi, 1
add eax, 0x27
inc edi
lea edx, [edi + edi]
mov dword [esp + 0x14], edx
xor edx, edx
cmp byte [eax - 0x14], dl
setne dl
add esi, edx
xor edx, edx
cmp byte [eax], dl
setne dl
add eax, 0x28
add ecx, edx
dec edi
jne 0x10051cb4
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
cmp eax, dword [edx + 0xc]
jge 0x10051cfd
mov edx, dword [edx + 0x10]
mov dword [esp + 0x20], ecx
xor ecx, ecx
lea eax, [eax + eax*4]
cmp byte [edx + eax*4 + 0x13], cl
mov edx, dword [esp + 0xc]
setne cl
mov edi, ecx
mov ecx, dword [esp + 0x20]
add ecx, esi
add edi, ecx
jmp 0x10051d0b
mov edi, dword [esp + 0x18]
add ecx, esi
add edi, ecx
jmp 0x10051d0b
mov edi, dword [esp + 0x18]
mov eax, dword [ebp + 0x18]
test eax, eax
jne 0x10051dd0
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x10051f19
mov eax, dword [edx + 0xc]
sub eax, edi
cmp ecx, eax
je 0x10051f0e
push ecx
mov ecx, dword [ebp + 8]
push eax
mov eax, dword [ebp + 0xc]
push 0
push eax
push str.table__S_has__d_columns_but__d_values_were_supplied
push ecx
call fcn.1001d690
add esp, 0x18
mov esi, dword [esp + 0x24]
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x14]
push edx
mov eax, esi
call fcn.1004c190
mov ebx, dword [ebp + 0x10]
add esp, 4
call fcn.10040810
test edi, edi
je 0x10052e5f
mov ebx, dword [edi]
call fcn.10040810
mov eax, dword [edi + 8]
push eax
mov eax, esi
call fcn.1004c190
mov ebx, dword [edi + 0xc]
add esp, 4
test ebx, ebx
je 0x10052d43
push ebx
push esi
call fcn.1003fab0
add esp, 8
test esi, esi
je 0x10052d3a
cmp ebx, dword [esi + 0xf0]
jb 0x10052d3a
cmp ebx, dword [esi + 0xf4]
jae 0x10052d3a
mov ecx, dword [esi + 0xec]
mov dword [ebx], ecx
dec dword [esi + 0xe4]
mov dword [esi + 0xec], ebx
jmp 0x10052d43
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x48]
cmp eax, ecx
je 0x10051df3
mov edx, dword [ebp + 8]
push ecx
push eax
push str._d_values_for__d_columns
push edx
call fcn.1001d690
add esp, 0x10
jmp 0x10051d48
xor eax, eax
test ecx, ecx
mov ecx, dword [ebp + 0x18]
jle 0x10051e0c
or esi, 0xffffffff
nop
mov edi, dword [ecx]
mov dword [edi + eax*8 + 4], esi
inc eax
cmp eax, dword [ecx + 4]
jl 0x10051e00
cmp dword [ecx + 4], 0
mov dword [esp + 0x14], 0
jle 0x10051f19
mov edi, edi
mov edx, dword [edx + 0xc]
xor edi, edi
mov dword [esp + 0x34], edx
test edx, edx
jle 0x10051e83
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax]
mov edx, dword [esp + 0x14]
lea eax, [ecx + edx*8]
mov ecx, dword [esp + 0xc]
mov esi, dword [ecx + 0x10]
mov dword [esp + 0x28], eax
mov eax, dword [eax]
mov dword [esp + 0x20], eax
lea ebx, [ebx]
mov edx, dword [esi]
mov ecx, dword [esp + 0x20]
call fcn.1001d800
test eax, eax
je 0x10051e6b
inc edi
add esi, 0x14
cmp edi, dword [esp + 0x34]
jl 0x10051e50
jmp 0x10051e83
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0xc]
mov dword [edx + 4], edi
cmp edi, dword [eax + 8]
jne 0x10051e83
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0xc]
cmp edi, dword [edx + 0xc]
mov edi, dword [esp + 0x14]
jl 0x10051ecc
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax]
mov esi, dword [ecx + edi*8]
mov edx, str._ROWID_
mov ecx, esi
call fcn.1001d800
test eax, eax
je 0x10051ec8
mov edx, str.ROWID
mov ecx, esi
call fcn.1001d800
test eax, eax
je 0x10051ec8
mov edx, 0x1009dd04
mov ecx, esi
call fcn.1001d800
test eax, eax
jne 0x10051ee2
mov dword [esp + 0x40], edi
mov edx, dword [ebp + 0x18]
inc edi
mov dword [esp + 0x14], edi
cmp edi, dword [edx + 4]
jge 0x10051f19
mov edx, dword [esp + 0xc]
jmp 0x10051e20
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax]
mov edx, dword [esp + 0x14]
mov eax, dword [ecx + edx*8]
mov ecx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
push eax
push 0
push ecx
push str.table__S_has_no_column_named__s
push esi
call fcn.1001d690
add esp, 0x14
inc dword [esi + 0x40]
jmp 0x10051d48
test ecx, ecx
jle 0x10051f19
mov edx, dword [edx + 8]
mov dword [esp + 0x40], edx
cmp dword [esp + 0x4c], 0
je 0x10051f3b
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x58]
push ecx
push 0
push edx
push 0x75
mov eax, ebx
call fcn.100329b0
add esp, 0x10
mov esi, dword [esp + 0x24]
test byte [esi + 0xc], 0x80
mov edi, dword [ebp + 8]
je 0x10051f61
inc dword [edi + 0x48]
mov eax, dword [edi + 0x48]
push eax
mov dword [esp + 0x7c], eax
push 0
push 0x30
mov eax, ebx
call fcn.10032ab0
add esp, 0xc
cmp dword [esp + 0x70], 0
jne 0x10051fc2
mov eax, dword [edi + 0x44]
push 0xa
push eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x14]
push edi
call fcn.10054770
add esp, 0xc
lea ecx, [eax*4 + 4]
mov dword [esp + 0x20], eax
call fcn.1001b5e0
mov dword [esp + 0x60], eax
test eax, eax
je 0x10051d48
mov edx, dword [esp + 0x20]
mov edi, dword [ebp + 8]
xor eax, eax
test edx, edx
jle 0x10051fc2
jmp 0x10051fb0
inc dword [edi + 0x48]
mov ecx, dword [edi + 0x48]
mov esi, dword [esp + 0x60]
mov dword [esi + eax*4], ecx
inc eax
cmp eax, edx
jl 0x10051fb0
mov esi, dword [esp + 0x50]
test esi, esi
je 0x10051fe4
mov eax, dword [esp + 0x3c]
push eax
push 0x7a
mov eax, ebx
call fcn.10032a60
mov ecx, dword [ebx + 0xc]
add esp, 8
mov dword [esp + 0x68], ecx
jmp 0x10052010
cmp dword [ebp + 0x14], 0
je 0x10052014
mov edx, dword [esp + 0x80]
push edx
push 0x3c
mov eax, ebx
call fcn.10032a60
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x18]
push eax
push 0xb
mov eax, ebx
call fcn.10032a60
add esp, 0x10
mov dword [esp + 0x6c], eax
inc dword [edi + 0x48]
mov eax, dword [edi + 0x48]
mov edx, dword [esp + 0xc]
mov edx, dword [edx + 0xc]
lea ecx, [eax + 1]
lea eax, [edx + eax + 1]
mov edx, dword [esp + 0xc]
mov dword [edi + 0x48], eax
test byte [edx + 0x22], 0x10
mov dword [esp + 0x34], ecx
mov dword [esp + 0x2c], ecx
je 0x10052046
inc ecx
inc eax
mov dword [esp + 0x2c], ecx
mov dword [edi + 0x48], eax
mov eax, ebx
call fcn.10032b80
test byte [esp + 0x54], 1
mov dword [esp + 0x20], eax
je 0x10052438
mov al, byte [edi + 0x15]
test al, al
jne 0x1005206f
inc dword [edi + 0x48]
mov eax, dword [edi + 0x48]
mov dword [esp + 0x10], eax
jmp 0x10052081
dec al
mov byte [edi + 0x15], al
movzx eax, al
mov ecx, dword [edi + eax*4 + 0x18]
mov dword [esp + 0x10], ecx
mov eax, ecx
mov ecx, dword [esp + 0x40]
test ecx, ecx
jns 0x1005209d
push eax
push 0xffffffffffffffff
push 0x30
mov eax, ebx
call fcn.10032ab0
add esp, 0xc
jmp 0x1005211d
test esi, esi
je 0x100520b6
mov edx, dword [esp + 0x3c]
push eax
push ecx
push edx
push 3
mov eax, ebx
call fcn.100329b0
add esp, 0x10
jmp 0x100520d0
mov ecx, dword [ebp + 0x10]
mov eax, dword [esp + 0x40]
mov edx, dword [ecx + 0xc]
mov esi, dword [esp + 0x10]
add eax, eax
mov eax, dword [edx + eax*8]
mov ecx, edi
call fcn.10042d50
mov eax, dword [esp + 0x10]
push eax
push 0x48
mov eax, ebx
call fcn.10032a60
mov ecx, dword [esp + 0x18]
push ecx
mov esi, eax
push 0xffffffffffffffff
push 0x30
mov eax, ebx
call fcn.10032ab0
add esp, 0x14
test esi, esi
js 0x1005210c
mov ecx, dword [ebx + 0xc]
cmp ecx, esi
jle 0x1005210c
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x1005210c
lea edx, [esi + esi*4]
mov dword [eax + edx*4 + 8], ecx
mov eax, dword [esp + 0x10]
push eax
push 0x26
mov eax, ebx
call fcn.10032a60
add esp, 8
mov esi, dword [esp + 0xc]
mov ecx, dword [esi + 0xc]
push ecx
push edi
call fcn.10043d50
add esp, 8
cmp dword [esi + 0xc], 0
mov dword [esp + 0x38], eax
mov dword [esp + 0x14], 0
jle 0x10052296
mov edx, eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x28], 0
mov eax, dword [ebp + 0x18]
test eax, eax
jne 0x100521bd
mov esi, dword [esp + 0x14]
cmp dword [esp + 0x50], 0
je 0x1005225a
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x1c], eax
cmp dword [ebx + 0x10], eax
jg 0x10052183
mov edi, ebx
call fcn.10032930
test eax, eax
jne 0x10052277
mov eax, dword [esp + 0x1c]
inc dword [ebx + 0xc]
mov ecx, dword [esp + 0x3c]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x14]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x18]
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], 0
mov word [eax], 3
mov byte [ebx + 0x7e], 0
jmp 0x10052277
mov ecx, dword [eax + 4]
xor esi, esi
test ecx, ecx
jle 0x100521dc
mov eax, dword [eax]
mov edx, dword [esp + 0x14]
add eax, 4
nop
cmp dword [eax], edx
je 0x100521dc
inc esi
add eax, 8
cmp esi, ecx
jl 0x100521d0
cmp esi, ecx
jl 0x1005215d
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x28]
mov eax, dword [ecx + edx + 4]
mov esi, dword [esp + 0x18]
push esi
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.10041fa0
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x1c], ecx
cmp ecx, esi
je 0x10052277
mov edx, dword [ebp + 8]
mov edi, dword [edx + 0xc]
test edi, edi
je 0x10052277
mov esi, dword [edi + 0xc]
cmp dword [edi + 0x10], esi
jg 0x1005222e
call fcn.10032930
test eax, eax
jne 0x10052277
mov ecx, dword [esp + 0x1c]
mov edx, dword [edi + 0x14]
inc dword [edi + 0xc]
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x18]
mov dword [eax + 8], ecx
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 9
mov byte [edi + 0x7e], cl
jmp 0x10052277
mov ecx, dword [ebp + 0x10]
mov eax, dword [esp + 0x18]
mov edx, dword [ecx + 0xc]
mov ecx, dword [ebp + 8]
push eax
add esi, esi
mov eax, dword [edx + esi*8]
push eax
push ecx
call fcn.10042dc0
add esp, 0xc
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
add dword [esp + 0x28], 0x14
inc dword [esp + 0x18]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [edx + 0xc]
jl 0x10052152
mov esi, dword [ebp + 8]
mov al, byte [esi + 0x15]
test al, al
jne 0x100522ac
inc dword [esi + 0x48]
mov eax, dword [esi + 0x48]
mov dword [esp + 0x18], eax
jmp 0x100522bc
dec al
movzx ecx, al
mov byte [esi + 0x15], al
mov edx, dword [esi + ecx*4 + 0x18]
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x1c], eax
cmp dword [ebx + 0x10], eax
jg 0x100522de
mov edi, ebx
call fcn.10032930
test eax, eax
jne 0x10052317
mov eax, dword [esp + 0x1c]
inc dword [ebx + 0xc]
mov ecx, dword [esp + 0x38]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x14]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x28]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x18]
mov byte [eax + 3], 0
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], 0
mov word [eax], 0x4f
mov byte [ebx + 0x7e], 0
cmp dword [esp + 0x70], 0
jne 0x1005232b
mov eax, dword [esp + 0xc]
push ebx
call fcn.10051120
add esp, 4
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x1c], eax
cmp dword [ebx + 0x10], eax
jg 0x10052342
mov edi, ebx
call fcn.10032930
test eax, eax
jne 0x1005237d
mov eax, dword [esp + 0x1c]
inc dword [ebx + 0xc]
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x14]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x18]
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], 0
mov word [eax], 0x6e
mov byte [ebx + 0x7e], 0
jmp 0x10052381
mov edi, dword [esp + 0x10]
cmp dword [esp + 0x18], 0
je 0x100523c4
mov dl, byte [esi + 0x15]
cmp dl, 8
jae 0x100523c4
mov edi, dword [esp + 0x18]
xor eax, eax
lea ecx, [esi + 0x60]
lea esp, [esp]
cmp dword [ecx + 0x10], edi
je 0x100524da
inc eax
add ecx, 0x18
cmp eax, 0xa
jl 0x100523a0
mov ecx, dword [esp + 0x18]
movzx eax, dl
mov dword [esi + eax*4 + 0x18], ecx
inc byte [esi + 0x15]
mov edi, dword [esp + 0x10]
test edi, edi
je 0x100523f1
mov dl, byte [esi + 0x15]
cmp dl, 8
jae 0x100523f1
xor eax, eax
lea ecx, [esi + 0x60]
cmp dword [ecx + 0x10], edi
je 0x100524e3
inc eax
add ecx, 0x18
cmp eax, 0xa
jl 0x100523d5
movzx edx, dl
mov dword [esi + edx*4 + 0x18], edi
inc byte [esi + 0x15]
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0xc]
cmp eax, dword [esi + 0x38]
jle 0x10052407
mov dword [esi + 0x38], eax
mov eax, dword [esp + 0x38]
mov dword [esi + 0x3c], eax
mov edx, dword [esp + 0x20]
mov eax, dword [ebp + 0x1c]
push 0
push 0
push edx
mov edx, dword [esp + 0x64]
push eax
mov eax, dword [esp + 0x5c]
push 0xffffffffffffffff
push edx
push ecx
push 1
push 0
push 0x6b
push eax
push esi
call fcn.100631c0
add esp, 0x30
test eax, eax
jne 0x10051d48
cmp dword [esp + 0x70], 0
jne 0x1005299f
mov esi, dword [esp + 0xc]
test byte [esi + 0x22], 0x10
je 0x10052460
mov ecx, dword [esp + 0x34]
push ecx
push 0
push 0x77
mov eax, ebx
call fcn.10032ab0
add esp, 0xc
mov eax, dword [esp + 0x40]
test eax, eax
js 0x100525a1
cmp dword [esp + 0x50], 0
je 0x100524ec
mov edx, dword [esp + 0x2c]
push edx
push eax
mov eax, dword [esp + 0x44]
push eax
push 3
mov eax, ebx
call fcn.100329b0
add esp, 0x10
mov edx, dword [esp + 0xc]
test byte [edx + 0x22], 0x10
mov esi, dword [esp + 0x2c]
mov eax, ebx
jne 0x10052580
push esi
push 0x48
call fcn.10032a60
mov ecx, dword [esp + 0x4c]
mov edi, eax
mov eax, dword [esp + 0x64]
push eax
push esi
push ecx
push 0x1a
mov eax, ebx
call fcn.100329b0
add esp, 0x18
mov eax, edi
mov ecx, ebx
call fcn.10032f70
push esi
push 0x26
mov eax, ebx
call fcn.10032a60
add esp, 8
jmp 0x100525db
mov byte [ecx + 9], 1
jmp 0x100523c0
mov byte [ecx + 9], 1
jmp 0x100523f1
cmp dword [ebp + 0x14], 0
je 0x1005250f
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x64]
push ecx
add edx, eax
push edx
push 9
mov eax, ebx
call fcn.10032ab0
add esp, 0xc
jmp 0x1005248a
mov ecx, dword [ebp + 0x10]
mov eax, dword [esp + 0x40]
mov edx, dword [ecx + 0xc]
mov esi, dword [esp + 0x2c]
mov ecx, dword [ebp + 8]
add eax, eax
mov eax, dword [edx + eax*8]
call fcn.10042d50
mov ecx, dword [ebx + 0xc]
lea eax, [ecx - 1]
test eax, eax
js 0x1005248a
cmp eax, ecx
jge 0x1005248a
mov ecx, dword [ebx + 0x14]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
test eax, eax
je 0x1005248a
cmp byte [eax], 0x77
jne 0x1005248a
mov edx, dword [esp + 0xc]
test byte [edx + 0x22], 0x10
jne 0x1005248a
mov ecx, dword [esp + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x5c]
mov edx, esi
mov byte [eax], 0x1a
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
jmp 0x100525d3
mov edx, dword [ebx + 0xc]
add edx, 2
push edx
push esi
push 0x47
call fcn.10032ab0
add esp, 0xc
push esi
push 0x26
mov eax, ebx
call fcn.10032a60
add esp, 8
jmp 0x100525db
test byte [esi + 0x22], 0x10
mov esi, dword [esp + 0x2c]
je 0x100525bc
push esi
push 0
push 0x77
mov eax, ebx
call fcn.10032ab0
add esp, 0xc
jmp 0x100525db
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x44]
push eax
push esi
push ecx
push 0x1a
mov eax, ebx
call fcn.100329b0
add esp, 0x10
mov dword [esp + 0x30], 1
cmp dword [esp + 0x5c], 0
jle 0x1005262b
mov edx, dword [ebp + 8]
mov edi, dword [edx + 0xc]
mov eax, dword [edi + 0xc]
mov dword [esp + 0x1c], eax
cmp dword [edi + 0x10], eax
jg 0x100525fd
call fcn.10032930
test eax, eax
jne 0x1005262b
mov ecx, dword [edi + 0x14]
inc dword [edi + 0xc]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x5c]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 8], esi
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x2d
mov byte [edi + 0x7e], cl
mov ecx, dword [esp + 0xc]
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
cmp dword [ecx + 0xc], eax
jle 0x1005275a
mov dword [esp + 0x28], eax
jmp 0x10052654
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0xc]
lea edx, [esi + eax + 1]
mov dword [esp + 0x10], edx
cmp eax, dword [ecx + 8]
jne 0x100526ab
mov esi, dword [ebx + 0xc]
cmp dword [ebx + 0x10], esi
jg 0x1005267c
mov edi, ebx
call fcn.10032930
test eax, eax
jne 0x1005273f
mov ecx, dword [ebx + 0x14]
inc dword [ebx + 0xc]
mov edx, dword [esp + 0x10]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
xor ecx, ecx
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 word [eax], 0x77
mov byte [ebx + 0x7e], cl
jmp 0x1005273f
mov edx, dword [ebp + 0x18]
test edx, edx
jne 0x100527b1
mov eax, dword [ecx + 0x10]
mov ecx, dword [esp + 0x28]
cmp byte [eax + ecx + 0x13], dl
je 0x100527a7
inc dword [esp + 0x18]
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x10]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x10]
mov eax, dword [eax + ecx + 4]
mov edx, dword [ebp + 8]
push esi
push eax
push edx
call fcn.10041fa0
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x1c], ecx
cmp ecx, esi
je 0x1005273f
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0xc]
test edi, edi
je 0x1005273f
mov esi, dword [edi + 0xc]
cmp dword [edi + 0x10], esi
jg 0x10052715
call fcn.10032930
test eax, eax
jne 0x1005273f
mov ecx, dword [esp + 0x1c]
mov eax, dword [edi + 0x14]
inc dword [edi + 0xc]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x10]
mov dword [eax + 8], ecx
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 9
mov byte [edi + 0x7e], cl
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
add dword [esp + 0x28], 0x14
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [edx + 0xc]
jl 0x10052650
mov edi, dword [esp + 0xc]
test byte [edi + 0x22], 0x10
je 0x1005292f
mov esi, dword [ebp + 8]
push edi
call fcn.100677c0
mov eax, dword [edi + 0x38]
mov edi, dword [edi + 0xc]
mov esi, dword [ebx + 0xc]
add edi, 2
add esp, 4
mov dword [esp + 0x30], eax
mov dword [esp + 0x1c], edi
cmp dword [ebx + 0x10], esi
jg 0x10052894
mov edi, ebx
call fcn.10032930
test eax, eax
je 0x10052894
xor esi, esi
jmp 0x100528ca
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x18]
jmp 0x100527d3
mov ecx, dword [edx + 4]
xor esi, esi
mov dword [esp + 0x38], esi
test ecx, ecx
jle 0x100527df
mov eax, dword [edx]
mov edi, dword [esp + 0x14]
add eax, 4
cmp dword [eax], edi
je 0x100527d3
inc esi
add eax, 8
cmp esi, ecx
jl 0x100527c7
mov dword [esp + 0x38], esi
test esi, esi
js 0x100526cb
cmp dword [esp + 0x48], 0
je 0x100526cb
test edx, edx
je 0x100527f7
cmp esi, dword [edx + 4]
jge 0x100526cb
cmp dword [esp + 0x50], 0
je 0x10052853
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x1c], eax
cmp dword [ebx + 0x10], eax
jg 0x10052819
mov edi, ebx
call fcn.10032930
test eax, eax
jne 0x1005273f
mov eax, dword [esp + 0x1c]
inc dword [ebx + 0xc]
mov ecx, dword [esp + 0x3c]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x14]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x10]
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], 0
mov word [eax], 3
mov byte [ebx + 0x7e], 0
jmp 0x1005273f
cmp dword [ebp + 0x14], 0
je 0x10052874
mov eax, dword [esp + 0x10]
add esi, dword [esp + 0x64]
push eax
push esi
push 9
mov eax, ebx
call fcn.10032ab0
add esp, 0xc
jmp 0x1005273f
mov edx, dword [ebp + 0x10]
mov eax, dword [esp + 0x38]
mov ecx, dword [edx + 0xc]
mov esi, dword [esp + 0x10]
add eax, eax
mov eax, dword [ecx + eax*8]
mov ecx, dword [ebp + 8]
call fcn.10042d50
jmp 0x1005273f
mov eax, dword [ebx + 0x14]
mov ecx, 1
add dword [ebx + 0xc], ecx
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x34]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x1c]
mov byte [eax + 3], 0
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], 0
mov word [eax], 0x7d
mov byte [ebx + 0x7e], 0
mov ecx, dword [ebx + 0x14]
mov edi, dword [ebx]
mov eax, esi
test ecx, ecx
je 0x1005291f
cmp byte [edi + 0x1e], 0
jne 0x1005291f
test esi, esi
jns 0x100528e9
mov eax, dword [ebx + 0xc]
dec eax
js 0x1005299f
lea eax, [eax + eax*4]
lea esi, [ecx + eax*4]
movsx eax, byte [esi + 1]
mov ecx, dword [esi + 0x10]
call fcn.10032fd0
mov eax, dword [esp + 0x30]
xor ecx, ecx
mov dword [esi + 0x10], ecx
cmp eax, ecx
jne 0x10052913
mov dword [esi + 0x10], ecx
mov byte [esi + 1], cl
jmp 0x1005299f
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xf6
jmp 0x1005299f
mov ecx, dword [esp + 0x30]
mov eax, 0xfffffff6
call fcn.10032fd0
jmp 0x1005299f
mov edx, dword [esp + 0x20]
mov eax, dword [ebp + 0x1c]
mov esi, dword [esp + 0x60]
lea ecx, [esp + 0x1c]
push ecx
xor ecx, ecx
cmp dword [esp + 0x44], ecx
push edx
mov edx, dword [esp + 0x3c]
push eax
mov eax, dword [esp + 0x50]
setge cl
push 0
push ecx
mov ecx, dword [ebp + 8]
push esi
push edx
push eax
push edi
push ecx
call fcn.10052ec0
add esp, 0x28
test byte [esp + 0x54], 2
je 0x10052972
mov eax, dword [esp + 0x58]
jmp 0x10052975
or eax, 0xffffffff
mov ecx, dword [esp + 0x30]
xor edx, edx
cmp dword [esp + 0x1c], edx
sete dl
push edx
mov edx, dword [esp + 0x38]
push ecx
mov ecx, dword [ebp + 8]
push eax
mov eax, dword [esp + 0x50]
push 0
push esi
push edx
push eax
push edi
push ecx
call fcn.10054290
add esp, 0x24
mov edx, dword [esp + 0x24]
test byte [edx + 0xc], 0x80
je 0x100529eb
mov esi, dword [ebx + 0xc]
cmp dword [ebx + 0x10], esi
jg 0x100529bc
mov edi, ebx
call fcn.10032930
test eax, eax
jne 0x100529eb
mov edx, dword [ebx + 0x14]
mov ecx, 1
add dword [ebx + 0xc], ecx
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x78]
mov dword [eax + 8], ecx
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x2a
mov byte [ebx + 0x7e], cl
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x10052a27
mov ecx, dword [esp + 0x20]
mov edx, dword [ebp + 0x1c]
push 0
push 0
push ecx
mov ecx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x1c]
push 0xffffffffffffffff
push ecx
push edx
push 2
push 0
push 0x6b
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.100631c0
add esp, 0x30
test eax, eax
jne 0x10051d48
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x10052a40
mov ecx, dword [esp + 0x20]
lea edx, [ecx*4 + 4]
mov ecx, dword [ebx + 0xc]
sub eax, edx
mov dword [eax], ecx
cmp dword [esp + 0x50], 0
je 0x10052aec
mov esi, dword [ebx + 0xc]
cmp dword [ebx + 0x10], esi
jg 0x10052a5e
mov edi, ebx
call fcn.10032930
test eax, eax
jne 0x10052a8c
mov eax, dword [ebx + 0x14]
inc dword [ebx + 0xc]
mov ecx, dword [esp + 0x3c]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x68]
mov dword [eax + 4], ecx
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x6a
mov byte [ebx + 0x7e], cl
mov eax, dword [esp + 0x6c]
test eax, eax
js 0x10052aa9
mov edx, dword [ebx + 0xc]
cmp edx, eax
jle 0x10052aa9
mov ecx, dword [ebx + 0x14]
test ecx, ecx
je 0x10052aa9
lea eax, [eax + eax*4]
mov dword [ecx + eax*4 + 8], edx
mov esi, dword [ebx + 0xc]
cmp dword [ebx + 0x10], esi
jg 0x10052ac0
mov edi, ebx
call fcn.10032930
test eax, eax
jne 0x10052b4c
mov edx, dword [ebx + 0x14]
inc dword [ebx + 0xc]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x3c]
mov dword [eax + 4], ecx
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x21
mov byte [ebx + 0x7e], cl
jmp 0x10052b4c
cmp dword [ebp + 0x14], 0
je 0x10052b4c
mov esi, dword [ebx + 0xc]
cmp dword [ebx + 0x10], esi
jg 0x10052b05
mov edi, ebx
call fcn.10032930
test eax, eax
jne 0x10052b2f
mov eax, dword [ebx + 0x14]
inc dword [ebx + 0xc]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x68]
xor ecx, ecx
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 word [eax], 0x60
mov byte [ebx + 0x7e], cl
mov eax, dword [esp + 0x6c]
test eax, eax
js 0x10052b4c
mov edx, dword [ebx + 0xc]
cmp edx, eax
jle 0x10052b4c
mov ecx, dword [ebx + 0x14]
test ecx, ecx
je 0x10052b4c
lea eax, [eax + eax*4]
mov dword [ecx + eax*4 + 8], edx
mov ecx, dword [esp + 0xc]
test byte [ecx + 0x22], 0x10
jne 0x10052c10
cmp dword [esp + 0x70], 0
jne 0x10052c10
mov esi, dword [ebx + 0xc]
cmp dword [ebx + 0x10], esi
jg 0x10052b78
mov edi, ebx
call fcn.10032930
test eax, eax
jne 0x10052ba4
mov eax, dword [ebx + 0x14]
inc dword [ebx + 0xc]
mov ecx, dword [esp + 0x44]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov dword [eax + 4], ecx
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x21
mov byte [ebx + 0x7e], cl
jmp 0x10052ba6
xor ecx, ecx
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x14]
mov dword [esp + 0x54], eax
cmp eax, ecx
je 0x10052c10
mov eax, dword [esp + 0x44]
inc eax
mov dword [esp + 0x30], eax
mov edi, edi
mov esi, dword [ebx + 0xc]
cmp dword [ebx + 0x10], esi
jg 0x10052bd3
mov edi, ebx
call fcn.10032930
test eax, eax
jne 0x10052bfd
mov edx, dword [ebx + 0x14]
inc dword [ebx + 0xc]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x30]
mov dword [eax + 4], ecx
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x21
mov byte [ebx + 0x7e], cl
mov edx, dword [esp + 0x54]
mov eax, dword [edx + 0x20]
inc dword [esp + 0x30]
mov dword [esp + 0x54], eax
test eax, eax
jne 0x10052bc0
mov eax, dword [esp + 0xc]
test byte [eax + 0x22], 8
mov esi, dword [ebp + 8]
je 0x10052c30
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x74]
push ecx
mov ecx, esi
call fcn.10051680
add esp, 4
mov edx, dword [esp + 0x24]
test byte [edx + 0xc], 0x80
je 0x10052d33
cmp byte [esi + 0x13], 0
jne 0x10052d33
cmp dword [esi + 0x1e4], 0
jne 0x10052d33
mov esi, dword [ebx + 0xc]
cmp dword [ebx + 0x10], esi
jg 0x10052c68
mov edi, ebx
call fcn.10032930
test eax, eax
jne 0x10052c97
mov edx, dword [ebx + 0x14]
mov ecx, 1
add dword [ebx + 0xc], ecx
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x78]
mov dword [eax + 8], ecx
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x5a
mov byte [ebx + 0x7e], cl
push 1
call fcn.10033d30
mov eax, dword [ebx]
add esp, 4
cmp byte [eax + 0x1e], 0
jne 0x10051d48
mov esi, dword [ebx + 0x28]
mov eax, dword [esi + 0x10]
test eax, eax
je 0x10052cbc
mov ebx, dword [eax + 0x50]
jmp 0x10052cc1
mov ebx, 0x3b9aca00
xor edi, edi
test ebx, ebx
js 0x10052cd5
cmp byte [edi + str.rows_inserted], 0
je 0x10052cd5
inc edi
cmp edi, ebx
jle 0x10052cc7
xor ecx, ecx
mov dword [esp + 0x1c], 0x202
push esi
cmp ecx, fcn.1001b3e0
jne 0x10052cfe
call fcn.10031840
mov eax, str.rows_inserted
mov dword [esi + 0x14], eax
mov dword [esi + 0x24], eax
mov eax, dword [esp + 0x20]
jmp 0x10052d0f
call fcn.10031840
mov dword [esi + 0x14], str.rows_inserted
mov eax, 0xa02
add esp, 4
mov dword [esi + 0x20], 0
cmp edi, ebx
jg 0x10051d48
mov dword [esi + 0x18], edi
mov word [esi + 0x1c], ax
mov word [esi + 0x1e], 0x103
jmp 0x10051d48
mov esi, edx
jmp 0x10051d4c
push ebx
call fcn.1001b360
add esp, 4
mov ebx, dword [edi + 0x10]
call fcn.10040810
mov ebx, dword [edi + 0x14]
test ebx, ebx
je 0x10052d8f
push ebx
push esi
call fcn.1003fab0
add esp, 8
test esi, esi
je 0x10052d86
cmp ebx, dword [esi + 0xf0]
jb 0x10052d86
cmp ebx, dword [esi + 0xf4]
jae 0x10052d86
mov edx, dword [esi + 0xec]
mov dword [ebx], edx
dec dword [esi + 0xe4]
mov dword [esi + 0xec], ebx
jmp 0x10052d8f
push ebx
call fcn.1001b360
add esp, 4
mov ebx, dword [edi + 0x18]
call fcn.10040810
mov eax, dword [edi + 0x1c]
push eax
push esi
call fcn.100594f0
mov ebx, dword [edi + 0x28]
add esp, 8
test ebx, ebx
je 0x10052de8
push ebx
push esi
call fcn.1003fab0
add esp, 8
test esi, esi
je 0x10052ddf
cmp ebx, dword [esi + 0xf0]
jb 0x10052ddf
cmp ebx, dword [esi + 0xf4]
jae 0x10052ddf
mov ecx, dword [esi + 0xec]
mov dword [ebx], ecx
dec dword [esi + 0xe4]
mov dword [esi + 0xec], ebx
jmp 0x10052de8
push ebx
call fcn.1001b360
add esp, 4
mov ebx, dword [edi + 0x2c]
test ebx, ebx
je 0x10052e2c
push ebx
push esi
call fcn.1003fab0
add esp, 8
test esi, esi
je 0x10052e23
cmp ebx, dword [esi + 0xf0]
jb 0x10052e23
cmp ebx, dword [esi + 0xf4]
jae 0x10052e23
mov edx, dword [esi + 0xec]
mov dword [ebx], edx
dec dword [esi + 0xe4]
mov dword [esi + 0xec], ebx
jmp 0x10052e2c
push ebx
call fcn.1001b360
add esp, 4
test esi, esi
je 0x10052e56
cmp edi, dword [esi + 0xf0]
jb 0x10052e56
cmp edi, dword [esi + 0xf4]
jae 0x10052e56
mov eax, dword [esi + 0xec]
mov dword [edi], eax
dec dword [esi + 0xe4]
mov dword [esi + 0xec], edi
jmp 0x10052e5f
push edi
call fcn.1001b360
add esp, 4
mov edi, dword [ebp + 0x18]
mov esi, dword [esp + 0x24]
call fcn.1004be10
mov eax, dword [esp + 0x60]
test esi, esi
je 0x10052ea2
test eax, eax
je 0x10052ea2
cmp eax, dword [esi + 0xf0]
jb 0x10052ea2
cmp eax, dword [esi + 0xf4]
jae 0x10052ea2
mov ecx, dword [esi + 0xec]
mov dword [eax], ecx
dec dword [esi + 0xe4]
mov dword [esi + 0xec], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push eax
call fcn.1001b360
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret