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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5adbca
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb38
mov eax, dword [ebp + 8]
push ebx
mov ebx, ecx
cmp eax, dword [ebx + 8]
push esi
push edi
jge 0x51e8c2
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x51e762
mov esi, dword [ebx + 0xc]
mov dword [esp + 0x10], esi
jmp 0x51e768
mov dword [esp + 0x10], eax
mov esi, eax
mov eax, dword [ebx + 0xc]
lea edi, [esi + eax]
test edi, edi
jl 0x51e974
mov ecx, edi
imul ecx, ecx, 0xa5a
push ecx
call fcn.00571a12
add esp, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0xb4c], 5
test eax, eax
je 0x51e7fa
dec edi
js 0x51e7f4
inc edi
lea edx, [eax + 0x5a]
mov dword [esp + 0xc], edi
xor eax, eax
lea edi, [edx - 0x5a]
mov ecx, 0x10
rep stosd dword es:[edi], eax
lea ecx, [edx - 0x1a]
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
mov word [ecx + 0x18], ax
mov edi, edx
mov ecx, 0x200
rep stosd dword es:[edi], eax
lea edi, [edx + 0x800]
mov ecx, 0x80
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0xc]
add edx, 0xa5a
dec eax
mov dword [esp + 0xc], eax
jne 0x51e7a5
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc], eax
jmp 0x51e802
mov dword [esp + 0xc], 0
mov dword [esp + 0xb4c], 0xffffffff
mov edx, dword [ebx]
cmp edx, dword [ebx + 4]
jg 0x51e88c
mov edi, dword [ebx + 8]
mov eax, edx
sub eax, edi
lea ecx, [eax + esi]
mov esi, dword [esp + 0xc]
imul ecx, ecx, 0xa5a
add esi, ecx
mov dword [esp + 0x14], esi
mov ecx, 0x296
lea edi, [esp + 0xe0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 0xa70]
movsw word es:[edi], word [esi]
mov edi, dword [esp + 0x14]
mov esi, eax
imul esi, esi, 0xa5a
add esi, ecx
mov ecx, 0x296
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, dword [ebx + 8]
mov esi, dword [ebx + 0xa70]
mov edi, edx
sub edi, eax
imul edi, edi, 0xa5a
add edi, esi
mov ecx, 0x296
lea esi, [esp + 0xe0]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x10]
inc edx
cmp edx, eax
jle 0x51e814
mov eax, dword [ebx + 0xa70]
push eax
call fcn.00571a0d
mov edx, dword [esp + 0x10]
mov edi, dword [ebx + 8]
mov eax, dword [ebp + 8]
sub edi, esi
mov dword [ebx + 0xa70], edx
mov edx, dword [ebx + 0xc]
add edx, esi
mov ecx, edi
add esp, 4
cmp eax, ecx
mov dword [ebx + 8], edi
mov dword [ebx + 0xc], edx
jl 0x51e752
mov edx, dword [ebx + 0xc]
add edx, dword [ebx + 8]
cmp eax, edx
jl 0x51eb4e
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x51e8da
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0xc]
mov edx, eax
lea esi, [edx + ecx]
test esi, esi
mov dword [esp + 0x10], eax
jl 0x51ebe6
mov eax, esi
imul eax, eax, 0xa5a
push eax
call fcn.00571a12
add esp, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0xb4c], 0xb
test eax, eax
je 0x51ea97
dec esi
js 0x51e96b
lea edx, [eax + 0x5a]
inc esi
lea ecx, [ecx]
xor eax, eax
lea edi, [edx - 0x5a]
mov ecx, 0x10
rep stosd dword es:[edi], eax
xor ecx, ecx
lea eax, [edx - 0x1a]
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov word [eax + 0x18], cx
xor eax, eax
mov edi, edx
mov ecx, 0x200
rep stosd dword es:[edi], eax
lea edi, [edx + 0x800]
mov ecx, 0x80
add edx, 0xa5a
dec esi
rep stosd dword es:[edi], eax
jne 0x51e920
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc], eax
jmp 0x51ea9f
mov edi, 0xf
push edi
push str.spaceextend_0
lea ecx, [esp + 0x90]
mov dword [esp + 0xa8], edi
mov dword [esp + 0xa4], 0
mov byte [esp + 0x94], 0
call fcn.00403280
xor eax, eax
mov dword [esp + 0xb4c], eax
push 6
push str.extend
lea ecx, [esp + 0x20]
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], eax
mov byte [esp + 0x24], al
call fcn.00403280
mov byte [esp + 0xb4c], 1
push 5
push str.space
lea ecx, [esp + 0x74]
mov dword [esp + 0x8c], edi
mov dword [esp + 0x88], 0
mov byte [esp + 0x78], 0
call fcn.00403280
mov byte [esp + 0xb4c], 2
push 0x10
push str.assertion_failed
lea ecx, [esp + 0x3c]
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], 0
mov byte [esp + 0x40], 0
call fcn.00403280
mov byte [esp + 0xb4c], 3
push 0x1d
push str.c:projects_tibiaContainer.h
lea ecx, [esp + 0x58]
mov dword [esp + 0x70], edi
mov dword [esp + 0x6c], 0
mov byte [esp + 0x5c], 0
call fcn.00403280
mov byte [esp + 0xb4c], 4
mov eax, dword [ebx + 0xc]
lea ecx, [esp + 0x88]
push ecx
push esi
lea edx, [esp + 0x20]
push edx
push eax
lea ecx, [esp + 0x7c]
push ecx
lea edx, [esp + 0x48]
push edx
push 0x1c1
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0xc4]
call fcn.0054fb40
push 0x5e02c8
lea ecx, [esp + 0xa8]
push ecx
call fcn.00560081
mov dword [esp + 0xc], 0
mov dword [esp + 0xb4c], 0xffffffff
mov edx, dword [ebx]
cmp edx, dword [ebx + 4]
jg 0x51eb1b
mov esi, dword [ebx + 8]
mov ecx, dword [esp + 0xc]
mov eax, edx
sub eax, esi
imul eax, eax, 0xa5a
lea esi, [eax + ecx]
mov dword [esp + 0x14], esi
mov ecx, 0x296
lea edi, [esp + 0xe0]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov esi, dword [ebx + 0xa70]
mov edi, dword [esp + 0x14]
add esi, eax
mov ecx, 0x296
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, dword [ebx + 8]
mov esi, dword [ebx + 0xa70]
mov edi, edx
sub edi, eax
imul edi, edi, 0xa5a
add edi, esi
mov ecx, 0x296
lea esi, [esp + 0xe0]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, dword [ebx + 4]
inc edx
cmp edx, eax
jle 0x51eab1
mov edx, dword [ebx + 0xa70]
push edx
call fcn.00571a0d
mov ecx, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov eax, dword [esp + 0x10]
add edx, ecx
mov dword [ebx + 0xa70], eax
mov eax, dword [ebp + 8]
mov dword [ebx + 0xc], edx
add edx, dword [ebx + 8]
add esp, 4
cmp eax, edx
jge 0x51e8d0
cmp eax, dword [ebx]
jge 0x51eb83
mov edx, dword [ebx]
mov cl, byte [ebx + 0x14]
dec edx
test cl, cl
mov dword [ebx], edx
mov edi, edx
je 0x51eb7f
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xa70]
sub edi, edx
imul edi, edi, 0xa5a
add edi, ecx
lea esi, [ebx + 0x15]
mov ecx, 0x296
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
cmp eax, dword [ebx]
jl 0x51eb52
cmp eax, dword [ebx + 4]
jle 0x51ebbc
mov edx, dword [ebx + 4]
mov cl, byte [ebx + 0x14]
inc edx
test cl, cl
mov dword [ebx + 4], edx
mov edi, edx
je 0x51ebb7
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xa70]
sub edi, edx
imul edi, edi, 0xa5a
add edi, ecx
lea esi, [ebx + 0x15]
mov ecx, 0x296
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
cmp eax, dword [ebx + 4]
jg 0x51eb88
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xa70]
sub eax, edx
imul eax, eax, 0xa5a
pop edi
add eax, ecx
mov ecx, dword [esp + 0xb40]
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edi, 0xf
push edi
xor esi, esi
push str.spaceextend_0
lea ecx, [esp + 0x58]
mov dword [esp + 0x70], edi
mov dword [esp + 0x6c], esi
mov byte [esp + 0x5c], 0
call fcn.00403280
mov dword [esp + 0xb4c], 6
push 6
push str.extend
lea ecx, [esp + 0x3c]
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], esi
mov byte [esp + 0x40], 0
call fcn.00403280
mov byte [esp + 0xb4c], 7
push 5
push str.space
lea ecx, [esp + 0x74]
mov dword [esp + 0x8c], edi
mov dword [esp + 0x88], esi
mov byte [esp + 0x78], 0
call fcn.00403280
mov byte [esp + 0xb4c], 8
push 0x10
push str.assertion_failed
lea ecx, [esp + 0x20]
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], esi
mov byte [esp + 0x24], 0
call fcn.00403280
mov byte [esp + 0xb4c], 9
push 0x1d
push str.c:projects_tibiaContainer.h
lea ecx, [esp + 0x90]
mov dword [esp + 0xa8], edi
mov dword [esp + 0xa4], esi
mov byte [esp + 0x94], 0
call fcn.00403280
mov byte [esp + 0xb4c], 0xa
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x50]
push eax
mov eax, dword [ebx + 0xc]
push ecx
lea edx, [esp + 0x3c]
push edx
push eax
lea ecx, [esp + 0x7c]
push ecx
lea edx, [esp + 0x2c]
push edx
push 0x1cf
lea eax, [esp + 0xa4]
push eax
lea ecx, [esp + 0xc4]
call fcn.0054fb40
push 0x5e02c8
lea ecx, [esp + 0xa8]
push ecx
call fcn.00560081
int3