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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x9c
mov eax, dword [ebp + 0x10]
push ebx
push esi
mov esi, dword [ebp + 8]
xor edx, edx
push edi
mov edi, dword [esi + 8]
mov dword [esp + 0x24], edi
mov dword [esp + 0x34], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], edx
mov edi, edi
mov ebx, dword [ebp + 0xc]
cmp ebx, edx
jne 0x1004cb62
mov ecx, 0x79
mov dword [esp + 0x10], ecx
jmp 0x1004cb9e
cmp dword [esi + 0x48], edx
je 0x1004cb8c
mov ecx, dword [ebp + 0xc]
test dword [ecx + 4], 0x800000
jne 0x1004cb8c
mov edx, dword [ebp + 0x10]
push edx
mov eax, ecx
push eax
mov ebx, esi
call fcn.1004c9f0
add esp, 8
test eax, eax
jns 0x1004dfb9
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx]
mov dword [esp + 0x10], edx
mov ebx, ecx
mov ecx, dword [esp + 0x10]
xor edx, edx
lea eax, [ecx - 0x13]
cmp eax, 0xa2
ja case.0x1004cbb3.21
movzx eax, byte [eax + 0x1004e03c]
jmp dword [eax*4 + 0x1004dfc0]
test dword [ebx + 4], 0x200
je 0x1004dac2
mov ecx, dword [ebx + 0xc]
mov dword [ebp + 0xc], ecx
jmp 0x1004cb50
mov eax, dword [ebx + 0xc]
mov dword [ebp + 0xc], eax
jmp 0x1004cb50
movsx ecx, word [ebx + 0x22]
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x2c], ecx
cmp ecx, dword [eax + 0x18]
jl 0x1004cc45
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jg 0x1004cc11
mov ecx, dword [ebp + 0x10]
push 0
push ecx
push 0
push 0x4b
mov eax, edi
call fcn.1002f760
mov eax, dword [esp + 0x44]
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
xor ecx, ecx
mov word [eax + 2], cx
mov ecx, dword [ebp + 0x10]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov word [eax], 0x4b
mov eax, dword [esp + 0x34]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
shl ecx, 4
add ecx, dword [eax + 0x14]
cmp byte [eax], 0
mov dword [esp + 0x3c], ecx
jne 0x1004cc62
mov eax, dword [eax + 0xc]
add eax, dword [esp + 0x2c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [eax + 1], 0
je 0x1004ccc4
mov esi, dword [esp + 0x3c]
mov edx, dword [ebp + 0x10]
movsx ecx, word [esi + 0xe]
mov ebx, dword [esi]
push edx
mov edx, dword [eax + 8]
push ecx
push edx
push 0x5e
push edi
call fcn.1002f870
add esp, 0x14
test ebx, ebx
je 0x1004dfb6
movzx eax, word [esi + 0xc]
test ax, ax
js 0x1004dfb6
mov ecx, dword [ebx + 4]
cwde
add eax, eax
cmp byte [ecx + eax*8 + 8], 0x45
jne 0x1004dfb6
mov esi, dword [ebp + 0x10]
mov ebx, 0x57
mov ecx, edi
call fcn.1002f820
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebx + 0x2c], edx
jne case.0x1004cbb3.167
movsx edx, word [ebx + 0x20]
mov esi, dword [ebp + 0x10]
mov eax, dword [ebx + 0x1c]
push esi
push edx
push eax
push 0x5e
push edi
call fcn.1002f870
add esp, 0x14
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test byte [ebx + 4], 0x20
mov eax, dword [ebx + 0x1c]
je 0x1004cdcd
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebx + 0xc]
push ecx
push edx
push esi
call fcn.1004cb20
mov ecx, dword [ebx + 0x2c]
mov esi, eax
movsx eax, word [ebx + 0x20]
add esp, 0xc
call fcn.10046430
movsx eax, al
cmp eax, 0x41
jle 0x1004cdc4
mov ecx, dword [edi + 0x6c]
lea ebx, [eax*2 + 0x10113a48]
cmp dword [edi + 0x70], ecx
jg 0x1004cd44
push 0
push 1
push esi
push 0x60
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x1004cd70
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
mov eax, dword [edi + 0x68]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*4]
xor edx, edx
mov word [eax + 2], dx
mov dword [eax + 4], esi
mov dword [eax + 8], 1
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov word [eax], 0x60
mov eax, ecx
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
je 0x1004cd8b
mov eax, ebx
or edx, 0xffffffff
call fcn.100304a0
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test eax, eax
jns 0x1004cd93
mov eax, dword [edi + 0x6c]
dec eax
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
cmp byte [ecx + eax*4 + 1], 0
lea ecx, [ecx + eax*4]
je 0x1004cdb9
push ebx
push edi
or eax, 0xffffffff
call fcn.100305a0
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test ebx, ebx
je 0x1004cdc4
mov dword [ecx + 0x10], ebx
mov byte [ecx + 1], 0xff
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, edx
jge 0x1004cee2
mov ecx, dword [esi + 0x34]
cmp ecx, edx
jge 0x1004cedf
movsx eax, word [ebx + 0x20]
mov edi, dword [ebx + 0x2c]
mov dword [esp + 0x2c], edi
cmp eax, edx
jge 0x1004cdfb
or eax, 0xffffffff
sub eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, eax
shl ebx, 4
add ebx, dword [edi + 4]
call fcn.10058d60
movsx edi, ax
movzx eax, word [ebx + 0xe]
sub edi, dword [esi + 0x34]
test al, 0x60
je 0x1004ce65
test eax, 0x100
je 0x1004ce37
mov edx, dword [ebx]
push edx
push str.generated_column_loop_on___s_
push esi
call fcn.1000e200
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
or eax, 0x100
mov word [ebx + 0xe], ax
test al, al
jns 0x1004ce53
mov eax, dword [esp + 0x2c]
push edi
push ebx
push esi
call fcn.1004c200
add esp, 0xc
mov eax, 0xfe7f
and word [ebx + 0xe], ax
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [ebx + 8], 0x45
jne 0x1004ce5c
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x6c]
cmp dword [eax + 0x70], ecx
jg 0x1004ce9f
mov esi, dword [ebp + 0x10]
push 0
push esi
push edi
push 0x51
call fcn.1002f760
mov ecx, dword [esp + 0x34]
add esp, 0x10
mov ebx, 0x57
call fcn.1002f820
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea edx, [ecx + 1]
mov dword [eax + 0x6c], edx
mov edx, dword [eax + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [edx + ecx*4]
mov edx, dword [ebp + 0x10]
xor ecx, ecx
mov word [eax + 2], cx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
lea ebx, [ecx + 0x57]
mov ecx, dword [esp + 0x24]
mov esi, edx
mov dword [eax + 4], edi
mov dword [eax + 8], edx
mov word [eax], 0x51
call fcn.1002f820
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [ecx - 1]
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 2]
movsx ecx, word [ecx + 0x20]
mov edi, dword [ebp + 0x10]
push edx
mov edx, dword [ebp + 0xc]
push ecx
mov ecx, dword [edx + 0x2c]
call fcn.1004c4e0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 0x10]
push edi
push 0
push esi
mov eax, ebx
call fcn.1004c020
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, ebx
call fcn.10049240
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x1004cf4d
mov ecx, dword [ebp + 0x10]
push 0
push ecx
push eax
push 0x47
mov eax, edi
call fcn.1002f760
mov eax, dword [ebp + 0x10]
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea esi, [ecx + 1]
mov dword [edi + 0x6c], esi
mov esi, dword [edi + 0x68]
lea ecx, [ecx + ecx*4]
lea ecx, [esi + ecx*4]
mov dword [ecx + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
mov dword [ecx + 0x10], edx
mov dword [ecx], 0x47
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 8]
push ebx
push 0
mov esi, edi
call fcn.1004bf10
add esp, 8
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 8]
mov ebx, dword [ebp + 0x10]
push eax
mov edx, ebx
mov esi, edi
call fcn.1002f990
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebx + 8]
lea eax, [ebx + 2]
call fcn.1000dfa0
mov ecx, dword [edi]
lea esi, [eax - 1]
push esi
lea edi, [ebx + 2]
call fcn.1000fc40
mov edi, eax
mov eax, esi
mov esi, dword [esp + 0x28]
cdq
sub eax, edx
mov edx, dword [esi + 0x6c]
add esp, 4
sar eax, 1
cmp dword [esi + 0x70], edx
jg 0x1004cffc
mov ecx, dword [ebp + 0x10]
push 0
push ecx
push eax
push 0x4d
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x1004d02a
mov ebx, dword [esi + 0x68]
lea ecx, [edx + 1]
mov dword [esi + 0x6c], ecx
lea ecx, [edx + edx*4]
lea ecx, [ebx + ecx*4]
mov dword [ecx + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ecx], 0x4d
mov eax, edx
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x1004d048
mov eax, edi
mov edx, 0xfffffffa
call fcn.100304a0
mov eax, dword [ebp + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test eax, eax
jns 0x1004d050
mov eax, dword [esi + 0x6c]
dec eax
mov edx, dword [esi + 0x68]
lea ecx, [eax + eax*4]
cmp byte [edx + ecx*4 + 1], 0
lea ecx, [edx + ecx*4]
je 0x1004d079
push edi
push esi
mov eax, 0xfffffffa
call fcn.100305a0
mov eax, dword [ebp + 0x10]
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test edi, edi
je 0x1004dfb6
mov eax, dword [ebp + 0x10]
mov dword [ecx + 0x10], edi
mov byte [ecx + 1], 0xfa
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movsx ecx, word [ebx + 0x20]
mov eax, dword [edi + 0x6c]
mov dword [esp + 0x2c], ecx
cmp dword [edi + 0x70], eax
jg 0x1004d0b7
mov eax, dword [ebp + 0x10]
push 0
push eax
push ecx
push 0x4e
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x1004d0e4
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
xor ecx, ecx
mov word [eax + 2], cx
mov ecx, dword [esp + 0x2c]
mov dword [eax + 4], ecx
mov ecx, dword [ebp + 0x10]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov word [eax], 0x4e
mov edx, dword [ebx + 8]
cmp byte [edx + 1], 0
je 0x1004dfb6
mov eax, dword [ebp + 0xc]
mov ecx, dword [esi + 0xe8]
movsx esi, word [eax + 0x20]
call fcn.100101f0
mov dword [ecx], 0
or edx, 0xffffffff
mov ecx, edi
call fcn.10030710
mov eax, dword [ebp + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x1c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebx + 0xc]
push ecx
push edx
push esi
call fcn.1004e3a0
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 8]
add esp, 0xc
xor edi, edi
call fcn.10059950
movsx edx, al
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x6c]
cmp dword [eax + 0x70], ecx
jg 0x1004d16e
mov ecx, dword [ebp + 0x10]
push edi
push edx
push ecx
push 0x58
call fcn.1002f760
mov eax, dword [ebp + 0x10]
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea esi, [ecx + 1]
mov dword [eax + 0x6c], esi
mov eax, dword [eax + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
xor ecx, ecx
mov word [eax + 2], cx
mov ecx, dword [ebp + 0x10]
mov dword [eax + 4], ecx
xor ecx, ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x58
mov eax, dword [ebp + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor edx, edx
cmp ecx, 0x2d
sete dl
mov dword [esp + 0x18], pe_nt_image_headers32
add edx, 0x34
mov dword [esp + 0x10], edx
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x28], ecx
call fcn.10046c40
test eax, eax
je 0x1004d1ee
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [ebp + 0x10]
push eax
push ecx
push edx
push esi
mov ecx, ebx
call fcn.10046da0
mov eax, dword [esp + 0x44]
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x2c]
call fcn.1004e2d0
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0x20]
add esp, 4
mov dword [esp + 0x20], eax
mov eax, dword [edx + 0x10]
push ecx
call fcn.1004e2d0
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x34], eax
mov eax, dword [edi + 0x6c]
add esp, 4
cmp dword [edi + 0x70], eax
jg 0x1004d238
push 0
push ebx
push 1
push 0x47
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x1004d262
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + edx*4]
xor ecx, ecx
mov word [eax + 2], cx
mov dword [eax + 4], 1
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x47
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + 0x10]
shr edx, 0xa
and edx, 1
push edx
mov edx, dword [edi + 0x6c]
push ecx
mov ecx, dword [esp + 0x38]
add edx, 2
push edx
mov edx, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x20]
push edx
push ecx
mov ecx, dword [esp + 0x40]
mov edx, esi
call fcn.10046ae0
add esp, 0x18
cmp dword [esp + 0x18], 0x80
jne 0x1004d2e5
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jg 0x1004d2c0
push 0
push ebx
push 0
push 0x47
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x1004d2fb
mov ecx, dword [edi + 0x68]
lea edx, [eax + 1]
mov dword [edi + 0x6c], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
xor ecx, ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax], 0x47
jmp 0x1004d2fb
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x20]
push eax
push ebx
push ecx
push 0x5c
push edi
call fcn.1002f870
add esp, 0x14
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x1004d317
mov al, byte [esi + 0x13]
cmp al, 8
jae 0x1004d317
movzx edx, al
mov dword [esi + edx*4 + 0xa0], ecx
inc byte [esi + 0x13]
cmp dword [esp + 0x1c], 0
je 0x1004d336
mov al, byte [esi + 0x13]
cmp al, 8
jae 0x1004d336
mov ecx, dword [esp + 0x1c]
movzx eax, al
mov dword [esi + eax*4 + 0xa0], ecx
inc byte [esi + 0x13]
mov eax, dword [esp + 0x34]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + 0xc]
lea edx, [esp + 0x14]
push edx
call fcn.1004e2d0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x20]
add esp, 4
push eax
mov eax, dword [ebx + 0x10]
call fcn.1004e2d0
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x24]
add esp, 4
push ecx
push edx
push eax
mov eax, dword [esp + 0x1c]
push eax
jmp 0x1004d2f2
mov eax, dword [ebx + 0xc]
mov cl, byte [eax]
cmp cl, 0x9b
jne 0x1004d39e
mov edi, dword [ebp + 0x10]
push edi
push 1
push esi
call fcn.1004c020
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp cl, 0x99
jne 0x1004d3bf
mov ebx, dword [ebp + 0x10]
mov ecx, dword [eax + 8]
push ebx
push 1
mov esi, edi
call fcn.1004bf10
add esp, 8
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [esp + 0x14]
push ecx
lea eax, [esp + 0x78]
mov byte [esp + 0x78], 0x9b
mov dword [esp + 0x7c], 0x10800
mov dword [esp + 0x80], 0
call fcn.1004e2d0
mov ebx, eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
lea edx, [esp + 0x20]
add esp, 4
push edx
call fcn.1004e2d0
mov ecx, dword [ebp + 0x10]
add esp, 4
push ecx
push ebx
push eax
push 0x6b
jmp 0x1004d2f2
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
lea edx, [esp + 0x14]
push edx
call fcn.1004e2d0
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x14]
add esp, 4
push 0
push ecx
push eax
push edx
jmp 0x1004d2f2
mov edi, dword [ebp + 0xc]
lea eax, [esp + 0x14]
push eax
mov eax, dword [edi + 0xc]
call fcn.1004e2d0
mov esi, eax
mov eax, dword [edi + 0x10]
add esp, 4
call fcn.10049240
xor ecx, ecx
cmp byte [edi + 2], 0x2d
push esi
sete cl
xor ebx, ebx
push 0x5b
xor ecx, eax
test eax, eax
mov eax, dword [esp + 0x2c]
sete bl
mov edi, ecx
mov ecx, dword [ebp + 0x10]
call fcn.1002f8e0
mov esi, dword [ebp + 8]
add esp, 8
jmp 0x1004d2fb
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jg 0x1004d497
mov edx, dword [ebp + 0x10]
push 0
push edx
push 1
push 0x47
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x1004d4c4
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
xor ecx, ecx
mov word [eax + 2], cx
mov ecx, dword [ebp + 0x10]
mov dword [eax + 4], 1
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov word [eax], 0x47
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
lea edx, [esp + 0x14]
push edx
call fcn.1004e2d0
mov ebx, dword [esp + 0x14]
add esp, 4
mov esi, eax
mov ecx, edi
call fcn.1002f820
mov esi, eax
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jg 0x1004d513
mov ecx, dword [ebp + 0x10]
push 0
push ecx
push 0
push 0x47
mov eax, edi
call fcn.1002f760
add esp, 0x10
mov edx, esi
mov eax, edi
call fcn.10030370
mov esi, dword [ebp + 8]
jmp 0x1004d2fb
mov ecx, dword [edi + 0x68]
lea edx, [eax + 1]
mov dword [edi + 0x6c], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
xor edx, edx
mov word [eax + 2], dx
mov edx, dword [ebp + 0x10]
xor ecx, ecx
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x47
mov edx, esi
mov eax, edi
call fcn.10030370
mov esi, dword [ebp + 8]
jmp 0x1004d2fb
mov ecx, dword [ebx + 0x28]
cmp ecx, edx
je 0x1004d576
movzx eax, word [ebx + 0x22]
cmp ax, dx
jl 0x1004d576
movsx edx, ax
cmp edx, dword [ecx + 0x24]
jge 0x1004d576
mov eax, dword [ecx + 0x18]
add eax, dword [ecx + 0xc]
add eax, edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ebx
push str.misuse_of_aggregate:__T__
push esi
call fcn.1000e200
mov eax, dword [esp + 0x40]
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test dword [ebx + 4], 0x1000000
mov eax, dword [esi]
mov dword [esp + 0x30], eax
mov al, byte [eax + 0x54]
mov dword [esp + 0x1c], edx
mov byte [esp + 0x2c], al
mov dword [esp + 0x14], edx
je 0x1004d5bb
mov ecx, dword [ebx + 0x2c]
mov eax, dword [ecx + 0x38]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [esi + 0x17], 0
je 0x1004d5e1
mov eax, ebx
call fcn.100494c0
test eax, eax
je 0x1004d5df
push 0xffffffffffffffff
push ebx
push esi
call fcn.1004e0e0
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor edx, edx
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x24], eax
cmp eax, edx
je 0x1004d5ee
mov edx, dword [eax]
mov ecx, dword [esp + 0x2c]
mov eax, dword [ebx + 8]
push 0
push ecx
push edx
push eax
mov eax, dword [esp + 0x40]
push eax
mov dword [esp + 0x24], edx
call fcn.10060620
add esp, 0x14
mov dword [esp + 0x18], eax
test eax, eax
je 0x1004d8b5
cmp dword [eax + 0x14], 0
jne 0x1004d8b5
mov eax, dword [eax + 4]
test eax, 0x400000
je 0x1004d650
cmp dword [esp + 0x24], 0
je 0x1004d650
mov ecx, dword [esp + 0x18]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ecx + 8]
mov edx, dword [esp + 0x24]
push esi
call fcn.1004c6a0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test eax, 0x280000
je 0x1004d66c
mov eax, dword [esp + 0x18]
mov esi, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
call fcn.10047c90
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov ecx, dword [esp + 0x10]
xor eax, eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x28], 1
test ecx, ecx
jle 0x1004d6f0
mov edx, dword [esp + 0x24]
add edx, 8
mov dword [esp + 0x20], edx
lea ecx, [ecx]
cmp eax, 0x20
jge 0x1004d6ac
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
call fcn.10049470
test eax, eax
je 0x1004d6ac
mov ecx, dword [esp + 0x28]
or dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x18]
test byte [edx + 4], 0x20
je 0x1004d6d0
cmp dword [esp + 0x14], 0
jne 0x1004d6d0
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
push esi
call fcn.100467c0
add esp, 4
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
add dword [esp + 0x20], 0x14
inc eax
rol ecx, 1
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x34], eax
cmp eax, ecx
jl 0x1004d690
cmp dword [esp + 0x24], 0
je 0x1004d762
cmp dword [esp + 0x1c], 0
je 0x1004d70f
mov eax, dword [esi + 0x2c]
lea edx, [eax + 1]
add ecx, eax
mov dword [esp + 0x20], edx
mov dword [esi + 0x2c], ecx
jmp 0x1004d724
mov esi, dword [esp + 0x10]
mov ecx, dword [ebp + 8]
call fcn.10050280
mov ebx, dword [ebp + 0xc]
mov dword [esp + 0x20], eax
mov esi, ecx
mov edx, dword [esp + 0x18]
test byte [edx + 4], 0xc0
je 0x1004d74a
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 8]
mov cl, byte [eax]
cmp cl, 0xa7
je 0x1004d741
cmp cl, 0xa9
jne 0x1004d74a
mov cl, byte [edx + 4]
and cl, 0xc0
mov byte [eax + 2], cl
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
push 2
push 0
push edx
push esi
call fcn.1004e500
add esp, 0x10
jmp 0x1004d76a
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x10]
cmp eax, 2
jl 0x1004d786
test dword [ebx + 4], 0x100
je 0x1004d786
mov edx, dword [esp + 0x24]
push eax
mov eax, dword [edx + 0x1c]
jmp 0x1004d796
test eax, eax
jle 0x1004d7ab
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
push eax
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x38]
call fcn.1008a950
mov dword [esp + 0x20], eax
add esp, 8
mov eax, dword [esp + 0x18]
test byte [eax + 4], 0x20
je 0x1004d866
cmp dword [esp + 0x14], 0
jne 0x1004d7cb
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx + 8]
mov dword [esp + 0x14], edx
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x1004d7e7
push 0
push 0
push 0
push 0x55
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x1004d80f
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
mov eax, dword [edi + 0x68]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*4]
xor edx, edx
mov word [eax + 2], dx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov word [eax], 0x55
mov eax, ecx
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
je 0x1004d827
mov eax, dword [esp + 0x14]
mov edx, 0xfffffffe
call fcn.100304a0
jmp 0x1004d866
test eax, eax
jns 0x1004d82f
mov eax, dword [edi + 0x6c]
dec eax
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
cmp byte [ecx + eax*4 + 1], 0
lea ecx, [ecx + eax*4]
je 0x1004d854
mov edx, dword [esp + 0x14]
push edx
push edi
mov eax, 0xfffffffe
call fcn.100305a0
add esp, 8
jmp 0x1004d866
cmp dword [esp + 0x14], 0
je 0x1004d866
mov eax, dword [esp + 0x14]
mov dword [ecx + 0x10], eax
mov byte [ecx + 1], 0xfe
movzx ecx, byte [ebx + 2]
mov edx, dword [esp + 0x18]
mov eax, dword [ebp + 0x10]
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x20]
push edx
push eax
push ebx
push ecx
push esi
mov eax, edi
call fcn.1002fbf0
add esp, 0x18
test edi, edi
je 0x1004dfb6
cmp dword [esp + 0x1c], 0
jne 0x1004dfb6
mov ecx, edi
mov edx, ebx
mov eax, esi
call fcn.100502d0
mov eax, dword [ebp + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ebx
push str.unknown_function:__T__
push esi
call fcn.1000e200
mov eax, dword [esp + 0x40]
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x1004ce2e
cmp ecx, 0x8a
jne 0x1004d91e
test dword [ebx + 4], 0x1000
je 0x1004d91e
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax]
cmp eax, 1
je 0x1004d91e
cmp dword [esi + 0x24], edx
jne 0x1004d336
push 1
push eax
push str.sub_select_returns__d_columns___expected__d
push esi
call fcn.1000e200
mov eax, dword [esp + 0x44]
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ebx
push esi
call fcn.1004abb0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebx + 0xc]
cmp dword [edi + 0x1c], edx
je 0x1004d93f
mov cl, byte [esi + 0x1a]
cmp cl, byte [edi + 2]
jbe 0x1004d952
push edi
push esi
call fcn.1004abb0
mov dword [edi + 0x1c], eax
mov dl, byte [esi + 0x1a]
add esp, 8
mov byte [edi + 2], dl
mov ecx, edi
call fcn.10046c90
mov ecx, dword [ebx + 0x1c]
cmp ecx, eax
je 0x1004d970
push eax
push ecx
push str._d_columns_assigned__d_values
push esi
call fcn.1000e200
add esp, 0x10
movsx eax, word [ebx + 0x20]
add eax, dword [edi + 0x1c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x38]
dec eax
mov dword [esp + 0x34], eax
dec eax
mov dword [esi + 0x38], eax
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jg 0x1004d9ac
mov eax, dword [ebp + 0x10]
push 0
push eax
push 0
push 0x4b
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x1004d9d5
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
xor ecx, ecx
mov word [eax + 2], cx
mov ecx, dword [ebp + 0x10]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov word [eax], 0x4b
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x34]
push edx
push eax
push ebx
push esi
call fcn.1004afc0
mov eax, dword [edi + 0x6c]
add esp, 0x10
cmp dword [edi + 0x70], eax
jg 0x1004da08
mov esi, dword [ebp + 0x10]
xor ebx, ebx
push ebx
push esi
push 1
push 0x47
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x1004da39
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + edx*4]
mov edx, dword [ebp + 0x10]
xor ecx, ecx
mov word [eax + 2], cx
mov dword [eax + 4], 1
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x47
mov esi, edx
xor ebx, ebx
mov eax, dword [esp + 0x34]
mov ecx, edi
call fcn.100300b0
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jg 0x1004da6f
push ebx
push ebx
push esi
push 0x56
mov eax, edi
call fcn.1002f760
mov eax, dword [esp + 0x38]
add esp, 0x10
mov ecx, edi
call fcn.100300b0
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [eax + 1]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + edx*4]
mov dword [edi + 0x6c], ecx
mov dword [eax + 4], esi
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 0x56
mov eax, dword [esp + 0x28]
mov ecx, edi
call fcn.100300b0
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x10]
push 0
push 0
push edx
mov eax, ebx
mov edi, esi
call fcn.1004e6d0
mov eax, dword [ebp + 0x10]
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
mov ecx, dword [eax + 0xc]
push ebx
push ecx
push esi
call fcn.1004e3a0
mov esi, ebx
add esp, 0xc
mov ebx, 0xb3
mov ecx, edi
call fcn.1002f820
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebx + 0x2c]
movsx ebx, word [ebx + 0x20]
mov eax, ebx
mov edi, esi
call fcn.10058d60
mov ecx, dword [ebp + 0xc]
mov edi, dword [esp + 0x24]
movsx edx, ax
movsx eax, word [esi + 0x22]
inc eax
imul eax, dword [ecx + 0x1c]
lea ecx, [edx + eax + 1]
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jg 0x1004db34
mov edx, dword [ebp + 0x10]
push 0
push edx
push ecx
push 0x9d
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x1004db5a
lea edx, [eax + 1]
mov dword [edi + 0x6c], edx
mov edx, dword [edi + 0x68]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [eax + 4], ecx
mov ecx, dword [ebp + 0x10]
mov dword [eax + 8], ecx
xor ecx, ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax], 0x9d
test ebx, ebx
js 0x1004d336
mov edx, dword [esi + 4]
add ebx, ebx
cmp byte [edx + ebx*8 + 8], 0x45
jne 0x1004d336
mov esi, dword [ebp + 0x10]
mov ebx, 0x57
mov ecx, edi
call fcn.1002f820
mov eax, dword [esp + 0x34]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.row_value_misused
push esi
call fcn.1000e200
mov eax, dword [esp + 0x3c]
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov al, byte [esi + 0x17]
mov byte [esp + 0x3b], al
mov eax, dword [ebx + 0x28]
cmp eax, edx
je 0x1004dc01
cmp byte [eax], 0
jne 0x1004dbcc
movsx ecx, word [ebx + 0x22]
add ecx, dword [eax + 0xc]
mov dword [esp + 0x34], ecx
mov eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [eax + 1], 0
je 0x1004dc01
movsx ecx, word [ebx + 0x22]
mov edx, dword [eax + 0x14]
mov esi, dword [ebp + 0x10]
add ecx, ecx
movsx ecx, word [edx + ecx*8 + 0xe]
mov edx, dword [eax + 8]
push esi
push ecx
push edx
push 0x5e
push edi
call fcn.1002f870
add esp, 0x14
mov dword [esp + 0x34], esi
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x1c]
push eax
push 0
push ecx
push 0x14
push edi
call fcn.1002f870
mov edx, dword [ebp + 0x10]
add esp, 0x14
mov dword [esp + 0x2c], eax
mov byte [esi + 0x17], 0
mov eax, dword [ebx + 0xc]
push edx
push eax
push esi
call fcn.1004e3a0
mov cl, byte [esp + 0x47]
mov edx, dword [esp + 0x38]
add esp, 0xc
mov eax, edi
mov byte [esi + 0x17], cl
call fcn.10030370
mov eax, dword [esp + 0x34]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi]
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x18], eax
mov eax, dword [eax]
dec dword [esi + 0x38]
mov ebx, dword [ebx + 0xc]
mov ecx, dword [esi + 0x38]
mov dword [esp + 0x28], edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x10], ebx
cmp ebx, edx
je 0x1004dcf6
mov eax, dword [esp + 0x30]
push 0
push 0
mov edx, ebx
push edx
push eax
call fcn.10047ff0
mov ebx, eax
mov eax, dword [esp + 0x40]
add esp, 0x10
cmp byte [eax + 0x57], 0
mov dword [esp + 0x3c], ebx
push ebx
je 0x1004dcb5
push eax
call fcn.10047ee0
mov eax, dword [esp + 0x3c]
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x18]
mov ecx, esi
call fcn.1004c590
add esp, 4
push eax
mov eax, ebx
call fcn.1004c540
add esp, 4
push 0x34
lea ecx, [esp + 0x44]
push 0
push ecx
call fcn.100ff5c0
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x4c]
add esp, 0xc
mov dword [esp + 0x28], edx
mov byte [esp + 0x40], 0x35
mov dword [esp + 0x4c], ebx
xor edx, edx
lea ecx, [eax - 1]
cmp ecx, edx
jle 0x1004dda7
mov eax, dword [esp + 0x18]
add eax, 8
mov dword [esp + 0x1c], eax
lea eax, [ecx - 1]
shr eax, 1
inc eax
mov dword [esp + 0x14], eax
cmp dword [esp + 0x10], 0
je 0x1004dd29
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov dword [esp + 0x50], ecx
jmp 0x1004dd33
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov dword [esp + 0x28], eax
dec dword [esi + 0x38]
mov ebx, dword [esi + 0x38]
mov ecx, dword [esp + 0x28]
push 0x10
push ebx
push ecx
push esi
call fcn.1004ebd0
mov edx, dword [ebp + 0x10]
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x14]
push edx
push ecx
push esi
call fcn.1004e3a0
mov esi, dword [esp + 0x48]
add esp, 0x1c
mov ecx, edi
call fcn.1002f940
mov eax, dword [edi + 0xc]
mov edx, dword [eax + 0x3c]
add edx, dword [eax + 0x38]
not ebx
jns 0x1004dd86
push ebx
push edi
mov edi, eax
call fcn.10030010
mov edi, dword [esp + 0x2c]
add esp, 8
jmp 0x1004dd8f
mov eax, dword [eax + 0x40]
mov ecx, dword [edi + 0x6c]
mov dword [eax + ebx*4], ecx
add dword [esp + 0x1c], 0x28
dec dword [esp + 0x14]
mov esi, dword [ebp + 8]
jne 0x1004dd16
mov eax, dword [esp + 0x20]
xor edx, edx
test al, 1
je 0x1004ddc6
mov edx, dword [ebp + 0x10]
mov ecx, dword [esp + 0x18]
push edx
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 - 0xc]
push edx
push esi
call fcn.1004e3a0
add esp, 0xc
jmp 0x1004de0d
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jg 0x1004dde4
mov eax, dword [ebp + 0x10]
push 0
push eax
push 0
push 0x4b
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x1004de0d
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
xor ecx, ecx
mov word [eax + 2], cx
mov ecx, dword [ebp + 0x10]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov word [eax], 0x4b
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x1004de23
mov edx, dword [esp + 0x30]
push eax
push edx
call fcn.10047e40
add esp, 8
mov eax, edi
call fcn.1004c660
mov eax, dword [edi + 0xc]
mov edx, dword [eax + 0x3c]
add edx, dword [eax + 0x38]
mov ecx, dword [esp + 0x2c]
not ecx
jns 0x1004de52
push ecx
push edi
mov edi, eax
call fcn.10030010
mov eax, dword [esp + 0x3c]
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [eax + 0x40]
mov edx, dword [edi + 0x6c]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x34]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x80], edx
jne 0x1004de8b
cmp byte [esi + 0x12], 0
jne 0x1004de8b
push str.RAISE___may_only_be_used_within_a_trigger_program
push esi
call fcn.1000e200
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [ebx + 1], 2
jne 0x1004de9e
mov eax, dword [esi + 0x7c]
cmp eax, edx
jne 0x1004de9a
mov eax, esi
mov byte [eax + 0x15], 1
mov al, byte [ebx + 1]
cmp al, 4
jne 0x1004df33
mov ecx, dword [edi + 0x6c]
mov ebx, dword [ebx + 8]
cmp dword [edi + 0x70], ecx
jg 0x1004dec8
push 0
push 4
push 0
push 0x46
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x1004deef
mov esi, dword [edi + 0x68]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea eax, [ecx + ecx*4]
lea eax, [esi + eax*4]
mov dword [eax + 4], edx
mov dword [eax + 8], 4
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov dword [eax], 0x46
mov eax, ecx
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
je 0x1004df0b
mov eax, ebx
xor edx, edx
call fcn.100304a0
mov eax, dword [esp + 0x34]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test eax, eax
jns 0x1004df13
mov eax, dword [edi + 0x6c]
dec eax
mov edx, dword [edi + 0x68]
lea ecx, [eax + eax*4]
push ebx
lea ecx, [edx + ecx*4]
push edi
xor eax, eax
call fcn.100305a0
mov eax, dword [esp + 0x3c]
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 8]
movsx ebx, al
mov eax, dword [esi + 0x80]
neg eax
push 0
sbb eax, eax
push 0
and eax, 0x712
push edx
inc eax
push eax
mov edi, esi
call fcn.1005f540
mov eax, dword [esp + 0x44]
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jg 0x1004df8d
mov edx, dword [ebp + 0x10]
push 0
push edx
push 0
push 0x4b
mov eax, edi
call fcn.1002f760
mov eax, dword [ebp + 0x10]
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
xor ecx, ecx
mov word [eax + 2], cx
mov ecx, dword [ebp + 0x10]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov word [eax], 0x4b
mov eax, dword [ebp + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret