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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa4
xor ecx, ecx
push ebx
mov ebx, dword [ebp + 8]
cmp dword [ebx + 0x40], ecx
mov eax, dword [ebx]
push esi
push edi
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], eax
jne 0x43dad9
cmp byte [eax + 0x41], cl
jne 0x43dad9
mov eax, dword [ebp + 0xc]
call fcn.004270c0
mov edi, eax
xor ebx, ebx
cmp edi, ebx
mov dword [esp + 0x18], edi
je 0x43dadd
mov eax, dword [ebp + 8]
mov esi, dword [edi + 0x2c]
mov ecx, dword [eax]
call fcn.00402c60
mov ecx, dword [ebp + 8]
mov dword [esp + 0x24], eax
mov eax, edi
call fcn.004203e0
test eax, eax
jne 0x43dadd
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x34], eax
add dword [edx + 0x44], 1
mov ecx, dword [edx + 0x44]
mov dword [esp + 0x28], eax
mov dword [esp + 0x80], eax
add eax, 1
test byte [edi + 0x26], 0x20
mov dword [esp + 0x44], ecx
mov dword [esp + 0x64], eax
jne 0x43c68b
mov dword [esp + 0x2c], ebx
jmp 0x43c696
mov eax, edi
call fcn.00402f80
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 8]
xor esi, esi
cmp eax, ebx
je 0x43c6d7
nop
mov ecx, dword [eax + 0x34]
and cl, 3
cmp cl, 2
jne 0x43c6c2
cmp dword [esp + 0x2c], ebx
je 0x43c6c2
mov ecx, dword [esp + 0x44]
mov edx, dword [ebp + 0xc]
mov dword [edx + 0x34], ecx
mov edx, dword [ebp + 8]
mov dword [esp + 0x28], ecx
add dword [edx + 0x44], 1
mov eax, dword [eax + 0x14]
mov ecx, dword [edx + 0x44]
add esi, 1
cmp eax, ebx
mov dword [esp + 0x44], ecx
jne 0x43c6a0
movsx edx, word [edi + 0x1e]
mov ecx, dword [esp + 0x4c]
add edx, esi
cmp byte [ecx + 0x41], bl
lea eax, [esi + edx*4 + 2]
jne 0x43dadd
push ebx
push eax
call fcn.0040dcf0
add esp, 8
cmp eax, ebx
mov dword [esp + 0x60], eax
jne 0x43c70f
mov edx, dword [esp + 0x4c]
mov byte [edx + 0x41], 1
mov esi, edx
jmp 0x43dae1
movsx eax, word [edi + 0x1e]
mov ecx, dword [esp + 0x60]
lea eax, [ecx + eax*4]
lea ecx, [eax + esi*4]
mov dword [esp + 0x78], eax
lea eax, [esi + 1]
push eax
push 1
push ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x2c], eax
call sub.msvcrt.dll_memset
mov edx, dword [esp + 0x78]
add esp, 0xc
mov byte [edx + esi + 1], bl
xor eax, eax
cmp word [edi + 0x1e], bx
jle 0x43c762
mov ecx, dword [esp + 0x60]
lea esp, [esp]
mov dword [ecx + eax*4], 0xffffffff
movsx edx, word [edi + 0x1e]
add eax, 1
cmp eax, edx
jl 0x43c750
mov edx, dword [ebp + 0x10]
cmp dword [edx], ebx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], ebx
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
mov byte [esp + 0x1f], bl
mov byte [esp + 0x17], bl
mov dword [esp + 0x34], ebx
jle 0x43c911
mov dword [esp + 0x10], ebx
lea esp, [esp]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx]
push eax
lea ecx, [esp + 0x94]
push ecx
call fcn.00434860
add esp, 8
test eax, eax
jne 0x43da5d
movsx eax, word [edi + 0x1e]
xor esi, esi
cmp eax, ebx
mov dword [esp + 0x5c], eax
jle 0x43c891
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + ecx + 4]
add eax, ecx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 4]
mov dword [esp + 0x44], edx
jmp 0x43c830
mov eax, dword [esp + 0x44]
mov ecx, dword [edi]
call fcn.004061e0
test eax, eax
je 0x43c84d
add esi, 1
add edi, 0x18
cmp esi, dword [esp + 0x5c]
jl 0x43c830
jmp 0x43c88d
mov eax, dword [esp + 0x18]
movsx ecx, word [eax + 0x1c]
cmp esi, ecx
jne 0x43c86a
mov edx, dword [esp + 0x38]
mov eax, dword [edx]
mov byte [esp + 0x17], 1
mov dword [esp + 0x30], eax
jmp 0x43c882
cmp dword [esp + 0x2c], ebx
je 0x43c882
mov eax, dword [eax + 4]
lea ecx, [esi + esi*2]
test byte [eax + ecx*8 + 0x17], 1
je 0x43c882
mov byte [esp + 0x1f], 1
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x60]
mov dword [eax + esi*4], edx
mov edi, dword [esp + 0x18]
movsx ecx, word [edi + 0x1e]
cmp esi, ecx
jl 0x43c8f6
cmp dword [esp + 0x2c], ebx
jne 0x43c93a
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x10]
mov esi, dword [eax + ecx + 4]
add eax, ecx
mov dword [esp + 0x38], eax
mov eax, str._ROWID_
mov ecx, esi
call fcn.004061e0
test eax, eax
je 0x43c8e7
mov eax, str.ROWID
mov ecx, esi
call fcn.004061e0
test eax, eax
je 0x43c8e7
mov eax, 0x4762cc
mov ecx, esi
call fcn.004061e0
test eax, eax
jne 0x43c93a
mov edx, dword [esp + 0x38]
mov eax, dword [edx]
mov byte [esp + 0x17], 1
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [ebp + 0x10]
add dword [esp + 0x10], 0x18
add eax, 1
cmp eax, dword [ecx]
mov dword [esp + 0x34], eax
jl 0x43c7d0
mov eax, dword [ebp + 0xc]
mov cl, byte [esp + 0x1f]
add cl, byte [esp + 0x17]
mov dword [eax + 0x40], ebx
mov dword [eax + 0x44], ebx
mov eax, dword [edi + 8]
cmp eax, ebx
mov byte [esp + 0x5c], cl
mov dword [esp + 0x10], ebx
je 0x43c9e3
mov esi, dword [ebp + 8]
jmp 0x43c96b
mov eax, dword [esp + 0x34]
mov edi, dword [ebp + 8]
lea edx, [eax + eax*2]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + edx*8 + 4]
push edx
push str.no_such_column:__s
call fcn.0041f440
mov eax, edi
add esp, 8
mov byte [eax + 0x11], 1
jmp 0x43da5d
mov cl, byte [esp + 0x5c]
cmp cl, bl
jne 0x43c9b3
cmp dword [eax + 0x24], ebx
jne 0x43c9b3
cmp eax, dword [esp + 0x2c]
je 0x43c9b3
movzx edi, word [eax + 0x2e]
xor edx, edx
xor ecx, ecx
cmp edi, ebx
mov dword [esp + 0x44], edx
jle 0x43c9be
mov esi, dword [eax + 4]
mov edi, dword [esp + 0x60]
movsx edx, word [esi]
cmp dword [edi + edx*4], ebx
jge 0x43c9b0
movzx edx, word [eax + 0x2e]
add ecx, 1
add esi, 2
cmp ecx, edx
jl 0x43c991
mov esi, dword [ebp + 8]
mov edx, dword [esp + 0x44]
jmp 0x43c9be
mov esi, dword [ebp + 8]
add dword [esi + 0x48], 1
mov edx, dword [esi + 0x48]
cmp edx, ebx
jne 0x43c9ca
mov ecx, dword [esp + 0x6c]
mov edi, dword [esp + 0x10]
mov byte [edi + ecx + 1], bl
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x78]
mov dword [edi + ecx*4], edx
mov eax, dword [eax + 0x14]
add ecx, 1
cmp eax, ebx
mov dword [esp + 0x10], ecx
jne 0x43c967
mov esi, dword [ebp + 8]
mov edi, dword [esi + 8]
cmp edi, ebx
mov dword [esp + 0x40], edi
jne 0x43ca61
push esi
call fcn.00410d70
mov edi, eax
add esp, 4
cmp edi, ebx
mov dword [esi + 8], eax
mov dword [esp + 0x40], edi
je 0x43ca49
mov eax, dword [edi + 0x20]
mov edx, dword [edi + 0x18]
cmp dword [edx + 0x54], eax
mov dword [esp + 0x44], eax
jg 0x43ca27
push edi
call fcn.00414c20
add esp, 4
test eax, eax
jne 0x43ca49
mov eax, dword [esp + 0x44]
mov ecx, dword [edi + 4]
add dword [edi + 0x20], 1
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x9e
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
cmp dword [esi + 0x190], ebx
jne 0x43ca55
mov byte [esi + 0x17], 1
cmp edi, ebx
je 0x43da5d
mov edi, dword [esp + 0x40]
cmp byte [esi + 0x12], bl
jne 0x43ca6a
or dword [edi + 0x58], 4
mov ecx, dword [esp + 0x24]
mov edx, dword [esi + 0x14c]
mov eax, 1
shl eax, cl
test eax, edx
jne 0x43caa0
or edx, eax
mov dword [esi + 0x14c], edx
mov edx, dword [esi]
mov edx, dword [edx + 0x10]
shl ecx, 4
mov ecx, dword [edx + ecx + 0xc]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x24]
mov dword [esi + ecx*4 + 0x150], edx
or dword [esi + 0x148], eax
mov eax, dword [esi + 0x48]
or byte [esi + 0x14], 1
add eax, 1
mov dword [esp + 0x44], eax
add eax, 1
cmp byte [esp + 0x1f], bl
mov dword [esi + 0x48], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], eax
je 0x43cadc
mov ecx, dword [esp + 0x18]
lea edx, [eax + 1]
mov dword [esp + 0x48], edx
movsx edx, word [ecx + 0x1e]
add edx, eax
mov dword [esi + 0x48], edx
cmp byte [esp + 0x5c], bl
je 0x43caed
add dword [esi + 0x48], 1
mov eax, dword [esi + 0x48]
mov dword [esp + 0x58], eax
mov eax, dword [esi + 0x48]
mov edx, dword [esp + 0x18]
lea ecx, [eax + 1]
mov dword [esp + 0x70], ecx
movsx ecx, word [edx + 0x1e]
mov edx, dword [ebp + 0x14]
add ecx, eax
push edx
lea eax, [esp + 0x94]
push eax
mov dword [esi + 0x48], ecx
call fcn.00434860
add esp, 8
test eax, eax
jne 0x43da5d
mov ecx, dword [esp + 0x18]
test byte [ecx + 0x26], 0x20
jne 0x43cbf2
mov esi, dword [edi + 0x20]
mov edx, dword [edi + 0x18]
cmp dword [edx + 0x54], esi
jg 0x43cb46
push edi
call fcn.00414c20
add esp, 4
test eax, eax
jne 0x43cb70
mov ecx, dword [edi + 4]
add dword [edi + 0x20], 1
mov edx, dword [esp + 0x44]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x54]
mov byte [eax], 0x1a
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov edx, dword [esp + 0x64]
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0xc]
push edx
mov edx, dword [ebp + 8]
push 4
push ebx
push ebx
push eax
push ecx
push edx
call fcn.00438b30
add esp, 0x1c
cmp eax, ebx
mov dword [esp + 0x3c], eax
je 0x43da5d
mov ecx, dword [eax + 0x3c]
mov edx, dword [eax + 0x40]
movzx eax, byte [eax + 0x26]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x28]
push ecx
push edx
push 0x68
mov esi, edi
mov dword [esp + 0x44], eax
call fcn.004175e0
add esp, 0xc
cmp dword [esp + 0x38], ebx
jne 0x43cbe8
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x44]
push eax
push ecx
push 0x81
call fcn.004175e0
add esp, 0xc
mov edx, dword [esp + 0x3c]
push edx
jmp 0x43ce74
mov eax, dword [esp + 0x2c]
movzx ecx, word [eax + 0x2e]
mov eax, dword [esi + 0x48]
movsx ecx, cx
lea edx, [eax + 1]
lea eax, [ecx + eax + 1]
mov dword [esi + 0x48], eax
mov dword [esp + 0x50], eax
mov eax, dword [esi + 0x44]
mov dword [esp + 0x74], eax
add eax, 1
mov dword [esi + 0x44], eax
mov eax, dword [edi + 0x20]
mov dword [esp + 0x24], ecx
mov ecx, dword [edi + 0x18]
cmp dword [ecx + 0x54], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x38], eax
jg 0x43cc43
push edi
call fcn.00414c20
add esp, 4
test eax, eax
jne 0x43cc69
mov eax, dword [esp + 0x38]
add dword [edi + 0x20], 1
mov ecx, dword [esp + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [edi + 4]
lea eax, [eax + edx*4]
mov byte [eax], 0x1a
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov ecx, dword [edi + 0x20]
mov edx, dword [edi + 0x18]
cmp dword [edx + 0x54], ecx
mov dword [esp + 0x38], ecx
jg 0x43cc93
push edi
call fcn.00414c20
add esp, 4
test eax, eax
je 0x43cc8f
mov dword [esp + 0x34], 1
jmp 0x43ccc1
mov ecx, dword [esp + 0x38]
mov edx, dword [edi + 4]
add dword [edi + 0x20], 1
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x74]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x24]
mov byte [eax], 0x39
mov byte [eax + 3], bl
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x2c]
mov eax, esi
call fcn.004243d0
mov eax, dword [esp + 0x64]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xc]
push eax
push 4
push ebx
push ebx
push ecx
push edx
push esi
call fcn.00438b30
add esp, 0x1c
cmp eax, ebx
mov dword [esp + 0x3c], eax
je 0x43da5d
mov ecx, dword [eax + 0x3c]
mov edx, dword [eax + 0x40]
movzx eax, byte [eax + 0x26]
xor esi, esi
cmp dword [esp + 0x24], ebx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], edx
mov dword [esp + 0x38], eax
jle 0x43cd53
jmp 0x43cd20
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x18]
movsx ebx, word [eax + esi*2]
add ecx, esi
push ecx
mov ecx, dword [esp + 0x2c]
push ecx
push edx
call fcn.00427110
mov edi, dword [esp + 0x4c]
add esi, 1
add esp, 0xc
cmp esi, dword [esp + 0x24]
jl 0x43cd20
xor ebx, ebx
cmp dword [esp + 0x38], ebx
je 0x43cdbd
mov eax, dword [esp + 0x34]
cmp eax, dword [edi + 0x20]
jge 0x43cda8
mov ecx, dword [edi + 4]
mov edx, dword [esp + 0x40]
lea eax, [eax + eax*4]
mov edi, dword [ecx + eax*4 + 0x10]
lea esi, [ecx + eax*4]
movsx eax, byte [esi + 1]
mov ecx, dword [edx]
call fcn.00417510
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x40]
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ebx
mov byte [esi], 0x9f
mov eax, dword [eax + 0x20]
add eax, 0xffffffff
cmp dword [esp + 0x34], eax
jne 0x43cda8
mov ecx, edi
mov dword [ecx + 0x20], eax
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x68], edx
mov dword [esp + 0x50], eax
jmp 0x43ce6f
mov esi, dword [esp + 0x2c]
mov eax, edi
call fcn.0040fbe0
mov esi, dword [edi + 0x20]
mov ecx, dword [edi + 0x18]
cmp dword [ecx + 0x54], esi
mov dword [esp + 0x34], eax
jg 0x43cdeb
push edi
call fcn.00414c20
add esp, 4
test eax, eax
je 0x43cdeb
mov esi, 1
jmp 0x43ce19
mov eax, dword [edi + 4]
add dword [edi + 0x20], 1
mov ecx, dword [esp + 0x10]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x24]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x50]
mov byte [eax], 0x31
mov byte [eax + 3], bl
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x24]
push edx
push edi
mov eax, esi
call fcn.00419350
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
add esp, 8
cmp dword [eax + 0x54], esi
jg 0x43ce45
push edi
call fcn.00414c20
add esp, 4
test eax, eax
jne 0x43ce6f
mov edx, dword [edi + 4]
add dword [edi + 0x20], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x50]
mov byte [eax], 0x6f
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov eax, dword [esp + 0x3c]
push eax
call fcn.00417d80
mov ecx, dword [esp + 0x50]
add esp, 4
test byte [ecx + 0x18], 0x80
je 0x43ceda
mov eax, dword [ebp + 8]
cmp dword [eax + 0x194], ebx
jne 0x43ceda
add dword [eax + 0x48], 1
mov edx, dword [eax + 0x48]
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
cmp dword [eax + 0x54], esi
mov dword [esp + 0x7c], edx
jg 0x43ceb4
push edi
call fcn.00414c20
add esp, 4
test eax, eax
jne 0x43ceda
mov edx, dword [edi + 4]
add dword [edi + 0x20], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x7c]
mov byte [eax], 0x17
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov eax, dword [edi + 0x18]
mov esi, dword [eax + 0x6c]
lea ecx, [esi - 1]
test esi, ecx
lea edx, [esi + 1]
mov dword [esp + 0x10], eax
mov dword [eax + 0x6c], edx
jne 0x43cf12
lea edx, [esi*8 + 4]
push ebx
mov ebx, dword [eax + 0x70]
mov eax, dword [eax]
push edx
call fcn.00415350
mov ecx, dword [esp + 0x18]
add esp, 8
mov dword [ecx + 0x70], eax
xor ebx, ebx
mov eax, ecx
mov eax, dword [eax + 0x70]
cmp eax, ebx
je 0x43cf20
mov dword [eax + esi*4], 0xffffffff
or eax, 0xffffffff
sub eax, esi
mov ecx, 5
cmp dword [ebp + 0x18], ecx
mov dword [esp + 0x10], eax
jne 0x43cf49
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x6c]
push edx
push 1
push esi
call sub.msvcrt.dll_memset
add esp, 0xc
jmp 0x43cf68
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 8]
cmp eax, ebx
je 0x43cf64
cmp byte [eax + 0x32], cl
je 0x43d002
mov eax, dword [eax + 0x14]
cmp eax, ebx
jne 0x43cf54
mov esi, dword [esp + 0x6c]
cmp dword [esp + 0x38], ebx
je 0x43cf98
mov eax, dword [esp + 0x84]
cmp eax, ebx
jl 0x43cf83
sub eax, dword [esp + 0x80]
mov byte [eax + esi], bl
mov eax, dword [esp + 0x88]
cmp eax, ebx
jl 0x43cf98
sub eax, dword [esp + 0x80]
mov byte [eax + esi], bl
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x18]
mov ecx, dword [ebp + 8]
push ebx
push ebx
push esi
push edx
push eax
push ecx
call fcn.00429df0
add esp, 0x18
cmp dword [esp + 0x38], ebx
je 0x43d065
sub esi, dword [esp + 0x80]
mov eax, dword [esp + 0x28]
cmp byte [esi + eax], bl
je 0x43cfea
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x50]
push edx
mov edx, dword [esp + 0x14]
push ecx
push edx
push eax
push 0x45
mov eax, edi
call fcn.00419500
add esp, 0x14
cmp dword [esp + 0x2c], ebx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x3c], eax
je 0x43d01b
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x20], ecx
jmp 0x43d023
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x6c]
push ecx
push 1
push esi
call sub.msvcrt.dll_memset
add esp, 0xc
jmp 0x43cf68
mov edx, dword [esp + 0x54]
mov dword [esp + 0x20], edx
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
cmp dword [eax + 0x54], esi
jg 0x43d03f
push edi
call fcn.00414c20
add esp, 4
test eax, eax
jne 0x43d208
mov edx, dword [edi + 4]
add dword [edi + 0x20], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
mov byte [eax], 0x4c
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
jmp 0x43d1ff
cmp dword [esp + 0x2c], ebx
mov eax, dword [edi + 0x18]
je 0x43d171
mov esi, dword [eax + 0x6c]
lea edx, [esi - 1]
test esi, edx
lea ecx, [esi + 1]
mov dword [esp + 0x20], eax
mov dword [eax + 0x6c], ecx
jne 0x43d0a7
lea ecx, [esi*8 + 4]
push ebx
mov ebx, dword [eax + 0x70]
mov eax, dword [eax]
push ecx
call fcn.00415350
mov edx, dword [esp + 0x28]
add esp, 8
mov dword [edx + 0x70], eax
xor ebx, ebx
mov eax, edx
mov eax, dword [eax + 0x70]
cmp eax, ebx
je 0x43d0b5
mov dword [eax + esi*4], 0xffffffff
or eax, 0xffffffff
sub eax, esi
mov esi, dword [edi + 0x20]
mov dword [esp + 0x3c], eax
mov eax, dword [edi + 0x18]
cmp dword [eax + 0x54], esi
jg 0x43d0d6
push edi
call fcn.00414c20
add esp, 4
test eax, eax
jne 0x43d100
mov edx, dword [edi + 4]
add dword [edi + 0x20], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x10]
mov byte [eax], 0x6d
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
cmp dword [eax + 0x54], esi
jg 0x43d11f
push edi
call fcn.00414c20
add esp, 4
test eax, eax
je 0x43d11f
mov esi, 1
jmp 0x43d149
mov edx, dword [edi + 4]
add dword [edi + 0x20], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x50]
mov byte [eax], 0x66
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x28]
push ebx
push eax
push ecx
push edx
push 0x45
mov eax, edi
mov dword [esp + 0xa0], esi
call fcn.00419500
add esp, 0x14
jmp 0x43d208
mov esi, dword [edi + 0x20]
cmp dword [eax + 0x54], esi
jg 0x43d190
push edi
call fcn.00414c20
add esp, 4
test eax, eax
je 0x43d190
mov dword [esp + 0x3c], 1
jmp 0x43d1c2
mov edx, dword [edi + 4]
add dword [edi + 0x20], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x10]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x54]
mov byte [eax], 0x82
mov byte [eax + 3], bl
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov dword [esp + 0x3c], esi
mov esi, dword [edi + 0x20]
mov edx, dword [edi + 0x18]
cmp dword [edx + 0x54], esi
jg 0x43d1da
push edi
call fcn.00414c20
add esp, 4
test eax, eax
jne 0x43d208
mov ecx, dword [edi + 4]
add dword [edi + 0x20], 1
mov edx, dword [esp + 0x28]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x3c]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x54]
mov byte [eax], 0x49
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov byte [eax + 1], bl
mov dword [eax + 0x10], ebx
mov byte [eax + 3], bl
cmp byte [esp + 0x17], bl
je 0x43d31c
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x43d270
cmp byte [eax], 0x9f
jne 0x43d270
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebp + 8]
mov esi, dword [ecx + 8]
mov edx, dword [esi + 0x18]
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0x20]
cmp dword [edx + 0x54], eax
mov dword [esp + 0x20], eax
jg 0x43d250
push esi
call fcn.00414c20
add esp, 4
test eax, eax
jne 0x43d2de
mov eax, dword [esp + 0x20]
mov ecx, dword [esi + 4]
add dword [esi + 0x20], 1
mov edx, dword [esp + 0x30]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x58]
mov byte [eax], 0x1f
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
jmp 0x43d2d2
mov esi, dword [esp + 0x58]
mov edx, dword [ebp + 8]
push esi
push eax
push edx
call fcn.0042dd00
add esp, 0xc
cmp eax, esi
mov dword [esp + 0x30], eax
je 0x43d2de
mov eax, dword [ebp + 8]
mov esi, dword [eax + 8]
cmp esi, ebx
je 0x43d2de
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x18]
cmp dword [ecx + 0x54], eax
mov dword [esp + 0x20], eax
jg 0x43d2b4
push esi
call fcn.00414c20
add esp, 4
test eax, eax
jne 0x43d2de
mov eax, dword [esp + 0x20]
add dword [esi + 0x20], 1
mov ecx, dword [esp + 0x30]
lea edx, [eax + eax*4]
mov eax, dword [esi + 4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x58]
mov byte [eax], 0x20
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov byte [eax + 1], bl
mov dword [eax + 0x10], ebx
mov dword [eax + 0xc], ebx
mov byte [eax + 3], bl
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
cmp dword [eax + 0x54], esi
jg 0x43d2f6
push edi
call fcn.00414c20
add esp, 4
test eax, eax
jne 0x43d31c
mov edx, dword [edi + 4]
add dword [edi + 0x20], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x58]
mov byte [eax], 0x26
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
cmp byte [esp + 0x1f], bl
je 0x43d42e
mov edx, dword [esp + 0x18]
xor esi, esi
cmp word [edx + 0x1e], bx
jle 0x43d3e0
mov dword [esp + 0x30], ebx
lea ebx, [ebx]
cmp esi, 0x20
jge 0x43d349
xor al, al
jne 0x43d3a6
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x30]
test byte [edx + eax + 0x17], 1
jne 0x43d3a6
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x18]
cmp dword [ecx + 0x54], eax
mov dword [esp + 0x20], eax
jg 0x43d377
push edi
call fcn.00414c20
add esp, 4
test eax, eax
jne 0x43d3c8
mov eax, dword [esp + 0x20]
add dword [edi + 0x20], 1
mov ecx, dword [esp + 0x48]
lea edx, [eax + eax*4]
mov eax, dword [edi + 4]
lea eax, [eax + edx*4]
lea edx, [esi + ecx]
mov byte [eax], 0x1a
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
jmp 0x43d3c8
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x28]
lea ecx, [esi + eax]
mov eax, dword [esp + 0x18]
push ecx
push edx
push eax
mov ebx, esi
call fcn.00427110
mov edi, dword [esp + 0x4c]
add esp, 0xc
xor ebx, ebx
mov ecx, dword [esp + 0x18]
movsx edx, word [ecx + 0x1e]
add dword [esp + 0x30], 0x18
add esi, 1
cmp esi, edx
jl 0x43d340
cmp byte [esp + 0x17], bl
jne 0x43d42e
cmp dword [esp + 0x2c], ebx
jne 0x43d42e
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
cmp dword [eax + 0x54], esi
jg 0x43d404
push edi
call fcn.00414c20
add esp, 4
test eax, eax
jne 0x43d42e
mov edx, dword [edi + 4]
add dword [edi + 0x20], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov byte [eax], 0x1f
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov eax, dword [esp + 0x18]
cmp word [eax + 0x1e], bx
mov dword [esp + 0x34], ebx
jle 0x43d5da
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x24], ecx
jmp 0x43d450
mov edx, dword [esp + 0x18]
movsx eax, word [edx + 0x1c]
mov ecx, dword [esp + 0x34]
cmp ecx, eax
jne 0x43d4a7
mov esi, dword [edi + 0x20]
mov ecx, dword [edi + 0x18]
cmp dword [ecx + 0x54], esi
jg 0x43d47c
push edi
call fcn.00414c20
add esp, 4
test eax, eax
jne 0x43d5ba
mov eax, dword [edi + 4]
add dword [edi + 0x20], 1
mov ecx, dword [esp + 0x24]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x1a
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
jmp 0x43d5ba
mov edx, dword [esp + 0x60]
mov eax, dword [edx + ecx*4]
cmp eax, ebx
jl 0x43d59b
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 4]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*8]
cmp eax, ebx
je 0x43d52b
cmp byte [eax], 0x9f
jne 0x43d52b
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebp + 8]
mov esi, dword [ecx + 8]
mov edx, dword [esi + 0x18]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x20]
cmp dword [edx + 0x54], eax
mov dword [esp + 0x70], eax
jg 0x43d4fc
push esi
call fcn.00414c20
add esp, 4
test eax, eax
jne 0x43d5ba
mov eax, dword [esp + 0x70]
mov ecx, dword [esi + 4]
add dword [esi + 0x20], 1
mov edx, dword [esp + 0x20]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x24]
mov byte [eax], 0x1f
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
jmp 0x43d5ba
mov esi, dword [esp + 0x24]
mov edx, dword [ebp + 8]
push esi
push eax
push edx
call fcn.0042dd00
add esp, 0xc
cmp eax, esi
mov dword [esp + 0x20], eax
je 0x43d5ba
mov eax, dword [ebp + 8]
mov esi, dword [eax + 8]
cmp esi, ebx
je 0x43d5ba
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x18]
cmp dword [ecx + 0x54], eax
mov dword [esp + 0x70], eax
jg 0x43d56f
push esi
call fcn.00414c20
add esp, 4
test eax, eax
jne 0x43d5ba
mov eax, dword [esp + 0x70]
add dword [esi + 0x20], 1
mov ecx, dword [esp + 0x20]
lea edx, [eax + eax*4]
mov eax, dword [esi + 4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x24]
mov byte [eax], 0x20
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
jmp 0x43d5ba
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x1c]
push edx
push eax
mov ebx, ecx
call fcn.00427110
mov edi, dword [esp + 0x4c]
add esp, 0xc
xor ebx, ebx
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x34]
movsx edx, word [ecx + 0x1e]
add dword [esp + 0x24], 1
add eax, 1
cmp eax, edx
mov dword [esp + 0x34], eax
jl 0x43d450
mov ecx, dword [esp + 0x3c]
mov edx, dword [ebp + 0x18]
lea eax, [esp + 0x48]
push eax
mov eax, dword [esp + 0x60]
push ecx
mov ecx, dword [esp + 0x5c]
push edx
mov edx, dword [esp + 0x64]
push eax
mov eax, dword [esp + 0x74]
push ecx
mov ecx, dword [esp + 0x3c]
push edx
mov edx, dword [esp + 0x90]
push eax
mov eax, dword [esp + 0x34]
push ecx
mov ecx, dword [ebp + 8]
push edx
push eax
push ecx
xor esi, esi
mov dword [esp + 0x74], ebx
call fcn.00436ef0
add esp, 0x2c
cmp dword [esp + 0x48], ebx
jne 0x43d62c
cmp byte [esp + 0x5c], bl
je 0x43d69b
cmp dword [esp + 0x2c], ebx
je 0x43d652
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x28]
push edx
push eax
push ebx
push ecx
push 0x45
mov eax, edi
call fcn.00419500
add esp, 0x14
mov esi, eax
jmp 0x43d69b
mov esi, dword [edi + 0x20]
mov edx, dword [edi + 0x18]
cmp dword [edx + 0x54], esi
jg 0x43d671
push edi
call fcn.00414c20
add esp, 4
test eax, eax
je 0x43d671
mov esi, 1
jmp 0x43d69b
mov ecx, dword [edi + 4]
add dword [edi + 0x20], 1
mov edx, dword [esp + 0x28]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x54]
mov byte [eax], 0x49
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [ebp + 8]
push eax
mov eax, dword [esp + 0x20]
push ecx
push edx
call fcn.00434050
add esp, 0x10
cmp byte [esp + 0x5c], bl
jne 0x43d6c6
cmp dword [esp + 0x2c], ebx
je 0x43d70c
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x18]
cmp dword [ecx + 0x54], eax
mov dword [esp + 0x70], eax
jg 0x43d6e6
push edi
call fcn.00414c20
add esp, 4
test eax, eax
jne 0x43d70c
mov eax, dword [esp + 0x70]
add dword [edi + 0x20], 1
mov ecx, dword [esp + 0x28]
lea edx, [eax + eax*4]
mov eax, dword [edi + 4]
lea eax, [eax + edx*4]
mov byte [eax], 0x62
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
cmp dword [esp + 0x48], ebx
jne 0x43d718
cmp byte [esp + 0x5c], bl
je 0x43d735
mov eax, dword [edi + 0x20]
cmp eax, esi
jbe 0x43d729
mov ecx, dword [edi + 4]
lea edx, [esi + esi*4]
mov dword [ecx + edx*4 + 8], eax
mov edx, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
sub edx, 1
mov dword [eax + 0x58], edx
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x64]
mov esi, dword [ebp + 8]
push ebx
push ebx
push 1
push ecx
mov ecx, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0x2c]
push eax
push ecx
push edx
push esi
call fcn.0041af90
mov eax, dword [esp + 0x70]
add esp, 0x24
test byte [eax + 0x18], 0x80
je 0x43d7b2
cmp dword [esi + 0x194], ebx
jne 0x43d7b2
mov esi, dword [edi + 0x20]
mov ecx, dword [edi + 0x18]
cmp dword [ecx + 0x54], esi
jg 0x43d788
push edi
call fcn.00414c20
add esp, 4
test eax, eax
jne 0x43d7b2
mov eax, dword [edi + 4]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x7c]
mov ecx, 1
add dword [edi + 0x20], ecx
mov byte [eax], 0x25
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
cmp dword [esp + 0x38], ebx
jne 0x43d85d
cmp dword [esp + 0x2c], ebx
je 0x43d81f
mov ecx, dword [edi + 0x18]
or eax, 0xffffffff
sub eax, dword [esp + 0x3c]
js 0x43d7db
mov edx, dword [ecx + 0x70]
cmp edx, ebx
je 0x43d7db
mov esi, dword [edi + 0x20]
mov dword [edx + eax*4], esi
mov eax, dword [edi + 0x20]
sub eax, 1
mov dword [ecx + 0x58], eax
mov esi, dword [edi + 0x20]
mov ecx, dword [edi + 0x18]
cmp dword [ecx + 0x54], esi
jg 0x43d7fc
push edi
call fcn.00414c20
add esp, 4
test eax, eax
jne 0x43d85d
mov eax, dword [edi + 4]
add dword [edi + 0x20], 1
mov ecx, dword [esp + 0x74]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x8c]
mov byte [eax], 8
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
jmp 0x43d851
mov esi, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
cmp dword [eax + 0x54], esi
jg 0x43d837
push edi
call fcn.00414c20
add esp, 4
test eax, eax
jne 0x43d85d
mov edx, dword [edi + 4]
add dword [edi + 0x20], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x3c]
mov byte [eax], 0xe
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov byte [eax + 1], bl
mov dword [eax + 0x10], ebx
mov dword [eax + 0xc], ebx
mov byte [eax + 3], bl
mov ecx, dword [edi + 0x18]
or eax, 0xffffffff
sub eax, dword [esp + 0x10]
js 0x43d876
mov edx, dword [ecx + 0x70]
cmp edx, ebx
je 0x43d876
mov esi, dword [edi + 0x20]
mov dword [edx + eax*4], esi
mov edx, dword [edi + 0x20]
mov eax, dword [esp + 0x18]
sub edx, 1
mov dword [ecx + 0x58], edx
mov eax, dword [eax + 8]
cmp eax, ebx
mov dword [esp + 0x68], eax
je 0x43d903
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x64]
add edx, 1
mov dword [esp + 0x30], ecx
mov dword [esp + 0x48], edx
mov ecx, dword [esp + 0x48]
cmp byte [ecx], bl
je 0x43d8eb
mov esi, dword [edi + 0x20]
mov edx, dword [edi + 0x18]
cmp dword [edx + 0x54], esi
jg 0x43d8c1
push edi
call fcn.00414c20
add esp, 4
test eax, eax
jne 0x43d8e7
mov ecx, dword [edi + 4]
add dword [edi + 0x20], 1
mov edx, dword [esp + 0x30]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x3d
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x14]
mov ecx, 1
add dword [esp + 0x48], ecx
add dword [esp + 0x30], ecx
cmp eax, ebx
mov dword [esp + 0x68], eax
jne 0x43d8a1
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x64]
jge 0x43d94b
mov esi, dword [edi + 0x20]
mov ecx, dword [edi + 0x18]
cmp dword [ecx + 0x54], esi
jg 0x43d925
push edi
call fcn.00414c20
add esp, 4
test eax, eax
jne 0x43d94b
mov eax, dword [edi + 4]
add dword [edi + 0x20], 1
mov ecx, dword [esp + 0x28]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x3d
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov edx, dword [esp + 0x4c]
test byte [edx + 0x18], 0x80
je 0x43da5d
mov eax, dword [ebp + 8]
cmp dword [eax + 0x194], ebx
jne 0x43da5d
mov ecx, eax
cmp byte [ecx + 0x12], bl
jne 0x43da5d
mov esi, dword [edi + 0x20]
mov edx, dword [edi + 0x18]
cmp dword [edx + 0x54], esi
jg 0x43d98b
push edi
call fcn.00414c20
add esp, 4
test eax, eax
jne 0x43d9b5
mov edx, dword [edi + 4]
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x7c]
mov ecx, 1
add dword [edi + 0x20], ecx
mov byte [eax], 0x21
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov ebx, 1
call fcn.00417460
mov eax, dword [esp + 0x40]
mov ecx, dword [eax]
cmp byte [ecx + 0x41], 0
jne 0x43da5b
mov edi, dword [eax + 0x10]
mov eax, dword [edi + 0x20]
test eax, eax
je 0x43d9de
mov eax, dword [eax + 0x58]
jmp 0x43d9e3
mov eax, 0x3b9aca00
mov ebx, 0xc
cmp eax, ebx
jge 0x43d9ef
lea ebx, [eax + 1]
xor edx, edx
cmp edx, 0x406420
mov esi, 0x202
jne 0x43da2a
test word [edi + 8], 0x2460
jne 0x43da0b
cmp dword [edi + 0x18], edx
je 0x43da10
call fcn.00413120
mov eax, str.rows_updated
push eax
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], eax
call dword [0x47a038]
add esp, 4
mov dword [edi + 0x18], eax
jmp 0x43da50
test word [edi + 8], 0x2460
jne 0x43da38
cmp dword [edi + 0x18], 0
je 0x43da3d
call fcn.00413120
mov dword [edi + 0x10], str.rows_updated
mov dword [edi + 0x24], 0
mov esi, 0xa02
mov dword [edi + 0xc], ebx
mov word [edi + 8], si
mov byte [edi + 0xa], 1
xor ebx, ebx
mov esi, dword [esp + 0x4c]
cmp dword [esi + 0x1d8], ebx
je 0x43da74
mov eax, dword [esp + 0x60]
call fcn.0040cda0
jmp 0x43dae1
cmp dword [0x47a008], ebx
je 0x43dac9
mov eax, dword [0x47c4a8]
cmp eax, ebx
je 0x43da8f
push eax
call dword [0x47a05c]
add esp, 4
mov edi, dword [esp + 0x60]
push edi
call dword [0x47a038]
sub dword [0x47c300], eax
sub dword [0x47c324], 1
add esp, 4
push edi
call dword [0x47a030]
mov eax, dword [0x47c4a8]
add esp, 4
cmp eax, ebx
je 0x43dae1
push eax
call dword [0x47a064]
add esp, 4
jmp 0x43dae1
mov eax, dword [esp + 0x60]
push eax
call dword [0x47a030]
add esp, 4
jmp 0x43dae1
mov esi, eax
jmp 0x43dae1
mov esi, dword [esp + 0x4c]
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, esi
call fcn.0040ff00
mov edx, dword [ebp + 0x10]
add esp, 4
push edx
mov eax, esi
call fcn.0040e370
mov eax, dword [ebp + 0x14]
add esp, 4
push eax
push esi
call fcn.0040e440
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret