Function at 0x46bcd0
Capabilities:
Terminate process
Write file on windows

Disassembly:
sub esp, 0xc
push ebx
mov ebx, dword [esp + 0x14]
push ebp
mov ebp, dword [esp + 0x1c]
push esi
push edi
mov edi, dword [ebp + 4]
test edi, edi
je 0x46bd29
mov esi, ebx
call fcn.0046d440
cmp dword [edi + 0xc], 0x334
jae 0x46bd29
mov eax, dword [0x6ba058]
test eax, eax
je 0x46bd09
mov eax, dword [eax + 0x350]
test eax, eax
jne 0x46bd0f
call dword [sym.imp.user32.dll_GetActiveWindow]
push 0x30
push str.Error_reading_user_file
push str.File_too_short
push eax
call dword [sym.imp.user32.dll_MessageBoxA]
push 0
call fcn.00625ad7
mov eax, dword [ebp + 4]
test eax, eax
mov esi, 0xc
lea edi, [esi - 8]
je 0x46bd47
lea edx, [esp + 0x14]
call fcn.00443c90
mov esi, dword [esp + 0x14]
jmp 0x46bd51
mov eax, dword [ebp + 8]
push 0xc
call fcn.004458d0
cmp esi, 0xc
mov dword [ebp + 0xc], esi
je 0x46bd8c
mov eax, dword [0x6ba058]
test eax, eax
je 0x46bd6c
mov eax, dword [eax + 0x350]
test eax, eax
jne 0x46bd72
call dword [sym.imp.user32.dll_GetActiveWindow]
push 0x30
push str.Error_reading_user_file
push str.Invalid_file_version
push eax
call dword [sym.imp.user32.dll_MessageBoxA]
push 0
call fcn.00625ad7
mov eax, dword [ebp + 4]
test eax, eax
je 0x46bda5
lea edx, [esp + 0x14]
call fcn.00443c90
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x24], eax
jmp 0x46bdb1
mov ecx, dword [ebx + 0x24]
mov eax, dword [ebp + 8]
push ecx
call fcn.004458d0
mov eax, dword [ebp + 4]
test eax, eax
je 0x46bdca
lea edx, [esp + 0x14]
call fcn.00443c90
mov edx, dword [esp + 0x14]
mov dword [ebx + 0x28], edx
jmp 0x46bdd6
mov eax, dword [ebx + 0x28]
push eax
mov eax, dword [ebp + 8]
call fcn.004458d0
mov eax, dword [ebp + 4]
test eax, eax
je 0x46bdef
lea edx, [esp + 0x14]
call fcn.00443c90
mov ecx, dword [esp + 0x14]
mov dword [ebx + 0x2c], ecx
jmp 0x46bdfb
mov edx, dword [ebx + 0x2c]
mov eax, dword [ebp + 8]
push edx
call fcn.004458d0
add ebx, 0x30
mov dword [esp + 0x14], 0x64
mov eax, dword [ebp + 4]
test eax, eax
je 0x46be1e
lea edx, [esp + 0x18]
call fcn.00443c90
mov eax, dword [esp + 0x18]
mov dword [ebx], eax
jmp 0x46be60
mov ecx, dword [ebx]
mov esi, dword [ebp + 8]
mov dword [esp + 0x10], ecx
cmp dword [esi + 8], 0
je 0x46be48
mov ecx, dword [esi + 0xc]
add ecx, edi
call fcn.00445890
mov edx, dword [esi + 0xc]
add edx, dword [esi + 8]
mov eax, dword [esp + 0x10]
mov dword [edx], eax
add dword [esi + 0xc], edi
jmp 0x46be60
mov esi, dword [esi + 4]
test esi, esi
je 0x46be60
push esi
push edi
lea ecx, [esp + 0x18]
push 1
push ecx
call fcn.006252d0
add esp, 0x10
add ebx, edi
sub dword [esp + 0x14], 1
jne 0x46be06
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
add ebp, 0x1c0
mov dword [esp + 0x10], 0x50
nop
mov eax, dword [ebx + 4]
test eax, eax
je 0x46be99
lea edx, [esp + 0x18]
call fcn.00443c90
mov edx, dword [esp + 0x18]
mov dword [ebp], edx
jmp 0x46bf0f
mov eax, dword [ebp]
mov esi, dword [ebx + 8]
mov dword [esp + 0x14], eax
cmp dword [esi + 8], 0
je 0x46bef7
mov eax, dword [esi + 0xc]
add eax, edi
cmp dword [esi + 0x10], eax
jae 0x46bee6
shl dword [esi + 0x10], 1
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jb 0x46beb3
push ecx
call fcn.00612a1b
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
push ecx
mov ebx, eax
push edx
push ebx
call fcn.0062bd80
mov eax, dword [esi + 8]
push eax
call fcn.0062414c
mov dword [esi + 8], ebx
mov ebx, dword [esp + 0x38]
add esp, 0x14
mov ecx, dword [esi + 0xc]
add ecx, dword [esi + 8]
mov edx, dword [esp + 0x14]
mov dword [ecx], edx
add dword [esi + 0xc], edi
jmp 0x46bf0f
mov esi, dword [esi + 4]
test esi, esi
je 0x46bf0f
push esi
push edi
lea eax, [esp + 0x1c]
push 1
push eax
call fcn.006252d0
add esp, 0x10
add ebp, edi
sub dword [esp + 0x10], 1
jne 0x46be80
mov eax, dword [ebx + 4]
test eax, eax
je 0x46bf3f
lea edx, [esp + 0x18]
call fcn.00443c90
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov dword [edx + 0x300], ecx
jmp 0x46bfbc
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x300]
mov esi, dword [ebx + 8]
mov dword [esp + 0x14], ecx
cmp dword [esi + 8], 0
je 0x46bfa4
mov eax, dword [esi + 0xc]
add eax, edi
cmp dword [esi + 0x10], eax
jae 0x46bf93
shl dword [esi + 0x10], 1
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jb 0x46bf60
push ecx
call fcn.00612a1b
mov edx, dword [esi + 0xc]
mov ebx, eax
mov eax, dword [esi + 8]
push edx
push eax
push ebx
call fcn.0062bd80
mov ecx, dword [esi + 8]
push ecx
call fcn.0062414c
mov dword [esi + 8], ebx
mov ebx, dword [esp + 0x38]
add esp, 0x14
mov edx, dword [esi + 0xc]
add edx, dword [esi + 8]
mov eax, dword [esp + 0x14]
mov dword [edx], eax
add dword [esi + 0xc], edi
jmp 0x46bfbc
mov esi, dword [esi + 4]
test esi, esi
je 0x46bfbc
push esi
push edi
lea ecx, [esp + 0x1c]
push 1
push ecx
call fcn.006252d0
add esp, 0x10
mov eax, dword [ebx + 4]
test eax, eax
je 0x46bfdf
lea edx, [esp + 0x18]
call fcn.00443c90
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov dword [eax + 0x304], edx
jmp 0x46c05c
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x304]
mov esi, dword [ebx + 8]
mov dword [esp + 0x14], edx
cmp dword [esi + 8], 0
je 0x46c044
mov eax, dword [esi + 0xc]
add eax, edi
cmp dword [esi + 0x10], eax
jae 0x46c033
shl dword [esi + 0x10], 1
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jb 0x46c000
push ecx
call fcn.00612a1b
mov ecx, dword [esi + 8]
mov ebx, eax
mov eax, dword [esi + 0xc]
push eax
push ecx
push ebx
call fcn.0062bd80
mov edx, dword [esi + 8]
push edx
call fcn.0062414c
mov dword [esi + 8], ebx
mov ebx, dword [esp + 0x38]
add esp, 0x14
mov eax, dword [esi + 0xc]
add eax, dword [esi + 8]
mov ecx, dword [esp + 0x14]
mov dword [eax], ecx
add dword [esi + 0xc], edi
jmp 0x46c05c
mov esi, dword [esi + 4]
test esi, esi
je 0x46c05c
push esi
push edi
lea edx, [esp + 0x1c]
push 1
push edx
call fcn.006252d0
add esp, 0x10
mov eax, dword [ebx + 4]
test eax, eax
je 0x46c07f
lea edx, [esp + 0x18]
call fcn.00443c90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x308], eax
jmp 0x46c0fc
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x308]
mov esi, dword [ebx + 8]
mov dword [esp + 0x14], eax
cmp dword [esi + 8], 0
je 0x46c0e4
mov eax, dword [esi + 0xc]
add eax, edi
cmp dword [esi + 0x10], eax
jae 0x46c0d3
shl dword [esi + 0x10], 1
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jb 0x46c0a0
push ecx
call fcn.00612a1b
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
push ecx
mov ebx, eax
push edx
push ebx
call fcn.0062bd80
mov eax, dword [esi + 8]
push eax
call fcn.0062414c
mov dword [esi + 8], ebx
mov ebx, dword [esp + 0x38]
add esp, 0x14
mov ecx, dword [esi + 0xc]
add ecx, dword [esi + 8]
mov edx, dword [esp + 0x14]
mov dword [ecx], edx
add dword [esi + 0xc], edi
jmp 0x46c0fc
mov esi, dword [esi + 4]
test esi, esi
je 0x46c0fc
push esi
push edi
lea eax, [esp + 0x1c]
push 1
push eax
call fcn.006252d0
add esp, 0x10
mov eax, dword [ebx + 4]
test eax, eax
je 0x46c11f
lea edx, [esp + 0x18]
call fcn.00443c90
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov dword [edx + 0x30c], ecx
jmp 0x46c19c
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x30c]
mov esi, dword [ebx + 8]
mov dword [esp + 0x14], ecx
cmp dword [esi + 8], 0
je 0x46c184
mov eax, dword [esi + 0xc]
add eax, edi
cmp dword [esi + 0x10], eax
jae 0x46c173
shl dword [esi + 0x10], 1
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jb 0x46c140
push ecx
call fcn.00612a1b
mov edx, dword [esi + 0xc]
mov ebx, eax
mov eax, dword [esi + 8]
push edx
push eax
push ebx
call fcn.0062bd80
mov ecx, dword [esi + 8]
push ecx
call fcn.0062414c
mov dword [esi + 8], ebx
mov ebx, dword [esp + 0x38]
add esp, 0x14
mov edx, dword [esi + 0xc]
add edx, dword [esi + 8]
mov eax, dword [esp + 0x14]
mov dword [edx], eax
add dword [esi + 0xc], edi
jmp 0x46c19c
mov esi, dword [esi + 4]
test esi, esi
je 0x46c19c
push esi
push edi
lea ecx, [esp + 0x1c]
push 1
push ecx
call fcn.006252d0
add esp, 0x10
mov eax, dword [ebx + 4]
test eax, eax
je 0x46c1bf
lea edx, [esp + 0x18]
call fcn.00443c90
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov dword [eax + 0x310], edx
jmp 0x46c23c
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x310]
mov esi, dword [ebx + 8]
mov dword [esp + 0x14], edx
cmp dword [esi + 8], 0
je 0x46c224
mov eax, dword [esi + 0xc]
add eax, edi
cmp dword [esi + 0x10], eax
jae 0x46c213
shl dword [esi + 0x10], 1
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jb 0x46c1e0
push ecx
call fcn.00612a1b
mov ecx, dword [esi + 8]
mov ebx, eax
mov eax, dword [esi + 0xc]
push eax
push ecx
push ebx
call fcn.0062bd80
mov edx, dword [esi + 8]
push edx
call fcn.0062414c
mov dword [esi + 8], ebx
mov ebx, dword [esp + 0x38]
add esp, 0x14
mov eax, dword [esi + 0xc]
add eax, dword [esi + 8]
mov ecx, dword [esp + 0x14]
mov dword [eax], ecx
add dword [esi + 0xc], edi
jmp 0x46c23c
mov esi, dword [esi + 4]
test esi, esi
je 0x46c23c
push esi
push edi
lea edx, [esp + 0x1c]
push 1
push edx
call fcn.006252d0
add esp, 0x10
mov eax, dword [ebx + 4]
test eax, eax
je 0x46c25f
lea edx, [esp + 0x18]
call fcn.00443c90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x314], eax
jmp 0x46c2dc
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x314]
mov esi, dword [ebx + 8]
mov dword [esp + 0x14], eax
cmp dword [esi + 8], 0
je 0x46c2c4
mov eax, dword [esi + 0xc]
add eax, edi
cmp dword [esi + 0x10], eax
jae 0x46c2b3
shl dword [esi + 0x10], 1
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jb 0x46c280
push ecx
call fcn.00612a1b
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
push ecx
mov ebx, eax
push edx
push ebx
call fcn.0062bd80
mov eax, dword [esi + 8]
push eax
call fcn.0062414c
mov dword [esi + 8], ebx
mov ebx, dword [esp + 0x38]
add esp, 0x14
mov ecx, dword [esi + 0xc]
add ecx, dword [esi + 8]
mov edx, dword [esp + 0x14]
mov dword [ecx], edx
add dword [esi + 0xc], edi
jmp 0x46c2dc
mov esi, dword [esi + 4]
test esi, esi
je 0x46c2dc
push esi
push edi
lea eax, [esp + 0x1c]
push 1
push eax
call fcn.006252d0
add esp, 0x10
mov eax, dword [ebx + 4]
test eax, eax
je 0x46c2ff
lea edx, [esp + 0x18]
call fcn.00443c90
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov dword [edx + 0x318], ecx
jmp 0x46c37c
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x318]
mov esi, dword [ebx + 8]
mov dword [esp + 0x14], ecx
cmp dword [esi + 8], 0
je 0x46c364
mov eax, dword [esi + 0xc]
add eax, edi
cmp dword [esi + 0x10], eax
jae 0x46c353
shl dword [esi + 0x10], 1
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jb 0x46c320
push ecx
call fcn.00612a1b
mov edx, dword [esi + 0xc]
mov ebx, eax
mov eax, dword [esi + 8]
push edx
push eax
push ebx
call fcn.0062bd80
mov ecx, dword [esi + 8]
push ecx
call fcn.0062414c
mov dword [esi + 8], ebx
mov ebx, dword [esp + 0x38]
add esp, 0x14
mov edx, dword [esi + 0xc]
add edx, dword [esi + 8]
mov eax, dword [esp + 0x14]
mov dword [edx], eax
add dword [esi + 0xc], edi
jmp 0x46c37c
mov esi, dword [esi + 4]
test esi, esi
je 0x46c37c
push esi
push edi
lea ecx, [esp + 0x1c]
push 1
push ecx
call fcn.006252d0
add esp, 0x10
mov eax, dword [ebx + 4]
test eax, eax
je 0x46c39f
lea edx, [esp + 0x18]
call fcn.00443c90
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov dword [eax + 0x31c], edx
jmp 0x46c41c
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x31c]
mov esi, dword [ebx + 8]
mov dword [esp + 0x14], edx
cmp dword [esi + 8], 0
je 0x46c404
mov eax, dword [esi + 0xc]
add eax, edi
cmp dword [esi + 0x10], eax
jae 0x46c3f3
shl dword [esi + 0x10], 1
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jb 0x46c3c0
push ecx
call fcn.00612a1b
mov ecx, dword [esi + 8]
mov ebx, eax
mov eax, dword [esi + 0xc]
push eax
push ecx
push ebx
call fcn.0062bd80
mov edx, dword [esi + 8]
push edx
call fcn.0062414c
mov dword [esi + 8], ebx
mov ebx, dword [esp + 0x38]
add esp, 0x14
mov eax, dword [esi + 0xc]
add eax, dword [esi + 8]
mov ecx, dword [esp + 0x14]
mov dword [eax], ecx
add dword [esi + 0xc], edi
jmp 0x46c41c
mov esi, dword [esi + 4]
test esi, esi
je 0x46c41c
push esi
push edi
lea edx, [esp + 0x1c]
push 1
push edx
call fcn.006252d0
add esp, 0x10
mov eax, dword [ebx + 4]
test eax, eax
je 0x46c43f
lea edx, [esp + 0x18]
call fcn.00443c90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x320], eax
jmp 0x46c4bc
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x320]
mov esi, dword [ebx + 8]
mov dword [esp + 0x14], eax
cmp dword [esi + 8], 0
je 0x46c4a4
mov eax, dword [esi + 0xc]
add eax, edi
cmp dword [esi + 0x10], eax
jae 0x46c493
shl dword [esi + 0x10], 1
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jb 0x46c460
push ecx
call fcn.00612a1b
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
push ecx
mov ebx, eax
push edx
push ebx
call fcn.0062bd80
mov eax, dword [esi + 8]
push eax
call fcn.0062414c
mov dword [esi + 8], ebx
mov ebx, dword [esp + 0x38]
add esp, 0x14
mov ecx, dword [esi + 0xc]
add ecx, dword [esi + 8]
mov edx, dword [esp + 0x14]
mov dword [ecx], edx
add dword [esi + 0xc], edi
jmp 0x46c4bc
mov esi, dword [esi + 4]
test esi, esi
je 0x46c4bc
push esi
push edi
lea eax, [esp + 0x1c]
push 1
push eax
call fcn.006252d0
add esp, 0x10
mov eax, dword [ebx + 4]
test eax, eax
je 0x46c4df
lea edx, [esp + 0x18]
call fcn.00443c90
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov dword [edx + 0x324], ecx
jmp 0x46c55c
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x324]
mov esi, dword [ebx + 8]
mov dword [esp + 0x14], ecx
cmp dword [esi + 8], 0
je 0x46c544
mov eax, dword [esi + 0xc]
add eax, edi
cmp dword [esi + 0x10], eax
jae 0x46c533
shl dword [esi + 0x10], 1
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jb 0x46c500
push ecx
call fcn.00612a1b
mov edx, dword [esi + 0xc]
mov ebx, eax
mov eax, dword [esi + 8]
push edx
push eax
push ebx
call fcn.0062bd80
mov ecx, dword [esi + 8]
push ecx
call fcn.0062414c
mov dword [esi + 8], ebx
mov ebx, dword [esp + 0x38]
add esp, 0x14
mov edx, dword [esi + 0xc]
add edx, dword [esi + 8]
mov eax, dword [esp + 0x14]
mov dword [edx], eax
add dword [esi + 0xc], edi
jmp 0x46c55c
mov esi, dword [esi + 4]
test esi, esi
je 0x46c55c
push esi
push edi
lea ecx, [esp + 0x1c]
push 1
push ecx
call fcn.006252d0
add esp, 0x10
mov eax, dword [ebx + 4]
test eax, eax
je 0x46c57f
lea edx, [esp + 0x18]
call fcn.00443c90
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov dword [eax + 0x328], edx
jmp 0x46c5fc
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x328]
mov esi, dword [ebx + 8]
mov dword [esp + 0x14], edx
cmp dword [esi + 8], 0
je 0x46c5e4
mov eax, dword [esi + 0xc]
add eax, edi
cmp dword [esi + 0x10], eax
jae 0x46c5d3
shl dword [esi + 0x10], 1
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jb 0x46c5a0
push ecx
call fcn.00612a1b
mov ecx, dword [esi + 8]
mov ebx, eax
mov eax, dword [esi + 0xc]
push eax
push ecx
push ebx
call fcn.0062bd80
mov edx, dword [esi + 8]
push edx
call fcn.0062414c
mov dword [esi + 8], ebx
mov ebx, dword [esp + 0x38]
add esp, 0x14
mov eax, dword [esi + 0xc]
add eax, dword [esi + 8]
mov ecx, dword [esp + 0x14]
mov dword [eax], ecx
add dword [esi + 0xc], edi
jmp 0x46c5fc
mov esi, dword [esi + 4]
test esi, esi
je 0x46c5fc
push esi
push edi
lea edx, [esp + 0x1c]
push 1
push edx
call fcn.006252d0
add esp, 0x10
mov eax, dword [ebx + 4]
test eax, eax
je 0x46c61f
lea edx, [esp + 0x18]
call fcn.00443c90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x32c], eax
jmp 0x46c69c
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x32c]
mov esi, dword [ebx + 8]
mov dword [esp + 0x14], eax
cmp dword [esi + 8], 0
je 0x46c684
mov eax, dword [esi + 0xc]
add eax, edi
cmp dword [esi + 0x10], eax
jae 0x46c673
shl dword [esi + 0x10], 1
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jb 0x46c640
push ecx
call fcn.00612a1b
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
push ecx
mov ebx, eax
push edx
push ebx
call fcn.0062bd80
mov eax, dword [esi + 8]
push eax
call fcn.0062414c
mov dword [esi + 8], ebx
mov ebx, dword [esp + 0x38]
add esp, 0x14
mov ecx, dword [esi + 0xc]
add ecx, dword [esi + 8]
mov edx, dword [esp + 0x14]
mov dword [ecx], edx
add dword [esi + 0xc], edi
jmp 0x46c69c
mov esi, dword [esi + 4]
test esi, esi
je 0x46c69c
push esi
push edi
lea eax, [esp + 0x1c]
push 1
push eax
call fcn.006252d0
add esp, 0x10
mov eax, dword [ebx + 4]
test eax, eax
je 0x46c6bf
lea edx, [esp + 0x18]
call fcn.00443c90
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov dword [edx + 0x330], ecx
jmp 0x46c73c
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x330]
mov esi, dword [ebx + 8]
mov dword [esp + 0x14], ecx
cmp dword [esi + 8], 0
je 0x46c724
mov eax, dword [esi + 0xc]
add eax, edi
cmp dword [esi + 0x10], eax
jae 0x46c713
shl dword [esi + 0x10], 1
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jb 0x46c6e0
push ecx
call fcn.00612a1b
mov edx, dword [esi + 0xc]
mov ebx, eax
mov eax, dword [esi + 8]
push edx
push eax
push ebx
call fcn.0062bd80
mov ecx, dword [esi + 8]
push ecx
call fcn.0062414c
mov dword [esi + 8], ebx
mov ebx, dword [esp + 0x38]
add esp, 0x14
mov edx, dword [esi + 0xc]
add edx, dword [esi + 8]
mov eax, dword [esp + 0x14]
mov dword [edx], eax
add dword [esi + 0xc], edi
jmp 0x46c73c
mov esi, dword [esi + 4]
test esi, esi
je 0x46c73c
push esi
push edi
lea ecx, [esp + 0x1c]
push 1
push ecx
call fcn.006252d0
add esp, 0x10
mov eax, dword [ebx + 4]
test eax, eax
je 0x46c75f
lea edx, [esp + 0x18]
call fcn.00443c90
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov dword [eax + 0x334], edx
jmp 0x46c7dc
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x334]
mov esi, dword [ebx + 8]
mov dword [esp + 0x14], edx
cmp dword [esi + 8], 0
je 0x46c7c4
mov eax, dword [esi + 0xc]
add eax, edi
cmp dword [esi + 0x10], eax
jae 0x46c7b3
shl dword [esi + 0x10], 1
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jb 0x46c780
push ecx
call fcn.00612a1b
mov ecx, dword [esi + 8]
mov ebx, eax
mov eax, dword [esi + 0xc]
push eax
push ecx
push ebx
call fcn.0062bd80
mov edx, dword [esi + 8]
push edx
call fcn.0062414c
mov dword [esi + 8], ebx
mov ebx, dword [esp + 0x38]
add esp, 0x14
mov eax, dword [esi + 0xc]
add eax, dword [esi + 8]
mov ecx, dword [esp + 0x14]
mov dword [eax], ecx
add dword [esi + 0xc], edi
jmp 0x46c7dc
mov esi, dword [esi + 4]
test esi, esi
je 0x46c7dc
push esi
push edi
lea edx, [esp + 0x1c]
push 1
push edx
call fcn.006252d0
add esp, 0x10
mov eax, dword [ebx + 4]
test eax, eax
je 0x46c7ff
lea edx, [esp + 0x18]
call fcn.00443c90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x338], eax
jmp 0x46c87c
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x338]
mov esi, dword [ebx + 8]
mov dword [esp + 0x14], eax
cmp dword [esi + 8], 0
je 0x46c864
mov eax, dword [esi + 0xc]
add eax, edi
cmp dword [esi + 0x10], eax
jae 0x46c853
shl dword [esi + 0x10], 1
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jb 0x46c820
push ecx
call fcn.00612a1b
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
push ecx
mov ebx, eax
push edx
push ebx
call fcn.0062bd80
mov eax, dword [esi + 8]
push eax
call fcn.0062414c
mov dword [esi + 8], ebx
mov ebx, dword [esp + 0x38]
add esp, 0x14
mov ecx, dword [esi + 0xc]
add ecx, dword [esi + 8]
mov edx, dword [esp + 0x14]
mov dword [ecx], edx
add dword [esi + 0xc], edi
jmp 0x46c87c
mov esi, dword [esi + 4]
test esi, esi
je 0x46c87c
push esi
push edi
lea eax, [esp + 0x1c]
push 1
push eax
call fcn.006252d0
add esp, 0x10
mov eax, dword [ebx + 4]
test eax, eax
je 0x46c89f
lea edx, [esp + 0x18]
call fcn.00443c90
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov dword [edx + 0x33c], ecx
jmp 0x46c920
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x33c]
mov esi, dword [ebx + 8]
mov dword [esp + 0x14], ecx
cmp dword [esi + 8], 0
je 0x46c908
mov eax, dword [esi + 0xc]
add eax, edi
cmp dword [esi + 0x10], eax
jae 0x46c8f7
shl dword [esi + 0x10], 1
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jb 0x46c8c4
push ecx
call fcn.00612a1b
mov edx, dword [esi + 0xc]
mov ebx, eax
mov eax, dword [esi + 8]
push edx
push eax
push ebx
call fcn.0062bd80
mov ecx, dword [esi + 8]
push ecx
call fcn.0062414c
mov dword [esi + 8], ebx
mov ebx, dword [esp + 0x38]
add esp, 0x14
mov edx, dword [esi + 0xc]
add edx, dword [esi + 8]
mov eax, dword [esp + 0x14]
mov dword [edx], eax
add dword [esi + 0xc], edi
jmp 0x46c920
mov esi, dword [esi + 4]
test esi, esi
je 0x46c920
push esi
push edi
lea ecx, [esp + 0x1c]
push 1
push ecx
call fcn.006252d0
add esp, 0x10
mov eax, dword [ebx + 4]
test eax, eax
je 0x46c943
lea edx, [esp + 0x18]
call fcn.00443c90
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov dword [eax + 0x340], edx
jmp 0x46c9c4
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x340]
mov esi, dword [ebx + 8]
mov dword [esp + 0x14], edx
cmp dword [esi + 8], 0
je 0x46c9ac
mov eax, dword [esi + 0xc]
add eax, edi
cmp dword [esi + 0x10], eax
jae 0x46c99b
shl dword [esi + 0x10], 1
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jb 0x46c968
push ecx
call fcn.00612a1b
mov ecx, dword [esi + 8]
mov ebx, eax
mov eax, dword [esi + 0xc]
push eax
push ecx
push ebx
call fcn.0062bd80
mov edx, dword [esi + 8]
push edx
call fcn.0062414c
mov dword [esi + 8], ebx
mov ebx, dword [esp + 0x38]
add esp, 0x14
mov eax, dword [esi + 0xc]
add eax, dword [esi + 8]
mov ecx, dword [esp + 0x14]
mov dword [eax], ecx
add dword [esi + 0xc], edi
jmp 0x46c9c4
mov esi, dword [esi + 4]
test esi, esi
je 0x46c9c4
push esi
push edi
lea edx, [esp + 0x1c]
push 1
push edx
call fcn.006252d0
add esp, 0x10
mov eax, dword [ebx + 4]
test eax, eax
je 0x46c9e7
lea edx, [esp + 0x18]
call fcn.00443c90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x344], eax
jmp 0x46ca6c
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x344]
mov esi, dword [ebx + 8]
mov dword [esp + 0x14], eax
cmp dword [esi + 8], 0
je 0x46ca54
mov eax, dword [esi + 0xc]
add eax, edi
cmp dword [esi + 0x10], eax
jae 0x46ca43
lea esp, [esp]
shl dword [esi + 0x10], 1
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jb 0x46ca10
push ecx
call fcn.00612a1b
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
push ecx
mov ebx, eax
push edx
push ebx
call fcn.0062bd80
mov eax, dword [esi + 8]
push eax
call fcn.0062414c
mov dword [esi + 8], ebx
mov ebx, dword [esp + 0x38]
add esp, 0x14
mov ecx, dword [esi + 0xc]
add ecx, dword [esi + 8]
mov edx, dword [esp + 0x14]
mov dword [ecx], edx
add dword [esi + 0xc], edi
jmp 0x46ca6c
mov esi, dword [esi + 4]
test esi, esi
je 0x46ca6c
push esi
push edi
lea eax, [esp + 0x1c]
push 1
push eax
call fcn.006252d0
add esp, 0x10
mov eax, dword [ebx + 4]
test eax, eax
je 0x46ca8f
lea edx, [esp + 0x18]
call fcn.00443c90
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov dword [edx + 0x348], ecx
jmp 0x46cb10
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x348]
mov esi, dword [ebx + 8]
mov dword [esp + 0x14], ecx
cmp dword [esi + 8], 0
je 0x46caf8
mov eax, dword [esi + 0xc]
add eax, edi
cmp dword [esi + 0x10], eax
jae 0x46cae7
shl dword [esi + 0x10], 1
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jb 0x46cab4
push ecx
call fcn.00612a1b
mov edx, dword [esi + 0xc]
mov ebx, eax
mov eax, dword [esi + 8]
push edx
push eax
push ebx
call fcn.0062bd80
mov ecx, dword [esi + 8]
push ecx
call fcn.0062414c
mov dword [esi + 8], ebx
mov ebx, dword [esp + 0x38]
add esp, 0x14
mov edx, dword [esi + 0xc]
add edx, dword [esi + 8]
mov eax, dword [esp + 0x14]
mov dword [edx], eax
add dword [esi + 0xc], edi
jmp 0x46cb10
mov esi, dword [esi + 4]
test esi, esi
je 0x46cb10
push esi
push edi
lea ecx, [esp + 0x1c]
push 1
push ecx
call fcn.006252d0
add esp, 0x10
mov eax, dword [ebx + 4]
test eax, eax
je 0x46cb33
lea edx, [esp + 0x18]
call fcn.00443c90
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov dword [eax + 0x34c], edx
jmp 0x46cbb4
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x34c]
mov esi, dword [ebx + 8]
mov dword [esp + 0x14], edx
cmp dword [esi + 8], 0
je 0x46cb9c
mov eax, dword [esi + 0xc]
add eax, edi
cmp dword [esi + 0x10], eax
jae 0x46cb8b
shl dword [esi + 0x10], 1
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jb 0x46cb58
push ecx
call fcn.00612a1b
mov ecx, dword [esi + 8]
mov ebx, eax
mov eax, dword [esi + 0xc]
push eax
push ecx
push ebx
call fcn.0062bd80
mov edx, dword [esi + 8]
push edx
call fcn.0062414c
mov dword [esi + 8], ebx
mov ebx, dword [esp + 0x38]
add esp, 0x14
mov eax, dword [esi + 0xc]
add eax, dword [esi + 8]
mov ecx, dword [esp + 0x14]
mov dword [eax], ecx
add dword [esi + 0xc], edi
jmp 0x46cbb4
mov esi, dword [esi + 4]
test esi, esi
je 0x46cbb4
push esi
push edi
lea edx, [esp + 0x1c]
push 1
push edx
call fcn.006252d0
add esp, 0x10
mov eax, dword [ebx + 4]
test eax, eax
je 0x46cbd7
lea edx, [esp + 0x18]
call fcn.00443c90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x350], eax
jmp 0x46cc58
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x350]
mov esi, dword [ebx + 8]
mov dword [esp + 0x14], eax
cmp dword [esi + 8], 0
je 0x46cc40
mov eax, dword [esi + 0xc]
add eax, edi
cmp dword [esi + 0x10], eax
jae 0x46cc2f
lea esp, [esp]
shl dword [esi + 0x10], 1
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jb 0x46cc00
push ecx
call fcn.00612a1b
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
push ecx
mov ebx, eax
push edx
push ebx
call fcn.0062bd80
mov eax, dword [esi + 8]
push eax
call fcn.0062414c
add esp, 0x14
mov dword [esi + 8], ebx
mov ecx, dword [esi + 0xc]
add ecx, dword [esi + 8]
mov edx, dword [esp + 0x14]
mov dword [ecx], edx
add dword [esi + 0xc], edi
jmp 0x46cc58
mov esi, dword [esi + 4]
test esi, esi
je 0x46cc58
push esi
push edi
lea eax, [esp + 0x1c]
push 1
push eax
call fcn.006252d0
add esp, 0x10
mov ecx, dword [esp + 0x20]
cmp dword [ecx + 0x350], 0
mov dword [esp + 0x14], 0
jle 0x46cd2a
mov ebx, dword [esp + 0x24]
mov ebp, ecx
add ebp, 0x358
mov edi, 0x58
mov eax, dword [ebx + 4]
test eax, eax
je 0x46cc95
mov edx, ebp
call fcn.00443c90
jmp 0x46cd0d
mov esi, dword [ebx + 8]
cmp dword [esi + 8], 0
je 0x46ccf9
mov eax, dword [esi + 0xc]
add eax, edi
cmp dword [esi + 0x10], eax
jae 0x46cce3
lea esp, [esp]
shl dword [esi + 0x10], 1
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jb 0x46ccb0
push ecx
call fcn.00612a1b
mov edx, dword [esi + 0xc]
mov ebx, eax
mov eax, dword [esi + 8]
push edx
push eax
push ebx
call fcn.0062bd80
mov ecx, dword [esi + 8]
push ecx
call fcn.0062414c
mov dword [esi + 8], ebx
mov ebx, dword [esp + 0x38]
add esp, 0x14
mov edx, dword [esi + 0xc]
add edx, dword [esi + 8]
push edi
push ebp
push edx
call fcn.0062bd80
add esp, 0xc
add dword [esi + 0xc], edi
jmp 0x46cd0d
mov esi, dword [esi + 4]
test esi, esi
je 0x46cd0d
push esi
push edi
push 1
push ebp
call fcn.006252d0
add esp, 0x10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
add eax, 1
add ebp, edi
cmp eax, dword [ecx + 0x350]
mov dword [esp + 0x14], eax
jl 0x46cc82
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8