Function at 0x458100
Capabilities:
Access peb ldr_data
Check for time delay via gettickcount

Disassembly:
push 0xffffffffffffffff
push 0x4ecf4b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x24
mov eax, dword [esp + 0x34]
push ebx
push ebp
push esi
mov ebp, dword [eax + 0xc]
push edi
mov edi, dword [eax + 4]
cmp ebp, edi
mov dword [esp + 0x14], edi
jle 0x4585f2
mov ecx, dword [eax + 8]
mov ebx, dword [eax]
cmp ecx, ebx
mov dword [esp + 0x18], ecx
jle 0x4585f2
mov esi, dword [0x541bec]
mov edx, dword [0x587f00]
mov eax, esi
imul eax, dword [0xcc51d0]
sub edx, eax
mov eax, dword [0xcc51cc]
sub edx, eax
mov eax, dword [0x541bf0]
jns 0x458173
mov edi, eax
imul edi, esi
add edx, edi
mov edi, dword [esp + 0x14]
imul edi, esi
imul eax, esi
add edi, ebx
dec ebp
imul ebp, esi
lea ebp, [ecx + ebp - 1]
mov ecx, eax
sub ecx, edx
cmp edi, ecx
jge 0x458243
cmp ebp, ecx
jl 0x45824b
mov eax, ecx
cdq
idiv esi
mov eax, ecx
mov edi, edx
cdq
idiv esi
cmp edi, ebx
mov esi, eax
mov eax, dword [esp + 0x18]
jle 0x45859c
cmp edi, eax
jge 0x4585a0
mov edx, dword [esp + 0x14]
mov dword [esp + 0x24], ebx
lea eax, [esp + 0x24]
lea ebx, [esi + 1]
push 0
push eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], ebx
call fcn.00458100
mov ebp, dword [esp + 0x4c]
lea edx, [esp + 0x2c]
push 0
push edx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x34], edi
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], esi
call fcn.00458100
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x34]
push 0
push ecx
mov dword [esp + 0x40], esi
mov dword [esp + 0x48], eax
call fcn.00458100
mov edx, dword [ebp]
lea eax, [esp + 0x3c]
push 1
push eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], ebx
call fcn.00458100
add esp, 0x20
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
add esp, 0x30
ret
cmp ebp, ecx
jl 0x458197
mov ebp, dword [0xb5566c]
cmp edi, ecx
jl 0x458257
sub edx, eax
mov ecx, dword [0xb5566c]
lea eax, [edx + edx]
add ecx, eax
xor ebx, ebx
mov dword [0xb5566c], ecx
mov ecx, dword [0xc26180]
add eax, ecx
mov dword [0xc26150], eax
mov al, byte [0x5474fc]
cmp al, bl
je 0x458410
lea edx, [esp + 0x14]
lea eax, [esp + 0x10]
push edx
push eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
call fcn.0047a250
lea ecx, [esp + 0x24]
lea edx, [esp + 0x20]
push ecx
push edx
call fcn.0047a2f0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
push ebx
push ebx
push eax
push ecx
call fcn.00457e60
mov edi, eax
add esp, 0x20
cmp edi, ebx
je 0x458410
mov eax, dword [edi + 8]
mov esi, str.tutorial_gump
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4582f4
cmp cl, bl
je 0x4582f0
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4582f4
add eax, 2
add esi, 2
cmp cl, bl
jne 0x4582d0
xor eax, eax
jmp 0x4582f9
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x458410
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov eax, dword [edi]
push ecx
push edx
mov ecx, edi
call dword [eax + 0x70]
mov esi, eax
mov eax, dword [0xc26190]
cmp eax, edi
je 0x458333
mov dword [0xc26190], edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0xc26194], eax
jmp 0x458410
cmp esi, 0xffffffff
je 0x458410
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [0xc26194]
mov ecx, dword [0x5477ec]
sub eax, edx
cmp eax, ecx
jbe 0x458410
push esi
call fcn.004586a0
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x458410
mov ecx, esi
call fcn.004cef40
cmp word [eax], bx
je 0x458410
push 0xb4
call fcn.004ddf8e
mov edi, eax
add esp, 4
mov dword [esp + 0x20], edi
cmp edi, ebx
mov dword [esp + 0x3c], ebx
je 0x4583a9
mov ecx, esi
call fcn.004cef40
push eax
push ebx
push ebx
mov ecx, edi
call fcn.004c7e40
jmp 0x4583ab
xor eax, eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x3c], 0xffffffff
cmp ecx, 0x140
mov dword [0xb6613c], eax
jle 0x4583c9
sub ecx, dword [eax + 0x20]
jmp 0x4583d7
mov edx, dword [esp + 0x18]
cmp edx, 0xfa
jg 0x4583d7
add ecx, edx
mov edx, dword [esp + 0x14]
cmp edx, 0xf0
jle 0x4583e6
sub edx, dword [eax + 0x24]
cmp ecx, dword [0x541bec]
jge 0x4583fe
cmp edx, dword [0x541bf0]
jge 0x4583fe
mov dword [eax + 0x30], ecx
mov dword [eax + 0x34], edx
jmp 0x458410
cmp eax, ebx
je 0x45840a
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx]
mov dword [0xb6613c], ebx
mov esi, dword [0xb66134]
mov edi, dword [esp + 0x44]
cmp esi, ebx
je 0x45847b
cmp esi, ebx
je 0x458427
mov eax, dword [esi + 4]
jmp 0x45842c
mov eax, 0xfeedbeef
push 0xaf4
push str.C:projectsuobuildpub007client_src_shared_basegumps.cxx
push eax
push esi
call fcn.00479690
add esp, 0x10
test al, al
je 0x458455
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 8]
mov esi, dword [esi + 0x44]
cmp esi, ebx
jne 0x458422
jmp 0x45847b
push str.CGumpManager::DrawAllGumps:_either_pointer_pGump_is_not_valid__or_the_data_it_points_to_is_not_valid._deleting_gump_and_breaking_out_of_pre_draw_loop._n
call fcn.004ceaa0
add esp, 4
cmp esi, ebx
je 0x45846e
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
push str.CGumpManager::DrawAllGumps:_deleted_pGump._n
call fcn.004ceaa0
add esp, 4
mov esi, dword [0xb66134]
cmp esi, ebx
je 0x4584d7
mov eax, dword [esi + 4]
push 0xb02
push str.C:projectsuobuildpub007client_src_shared_basegumps.cxx
push eax
push esi
call fcn.00479690
add esp, 0x10
test al, al
je 0x4584b1
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0xc]
mov esi, dword [esi + 0x44]
cmp esi, ebx
jne 0x458485
jmp 0x4584d7
push str.CGumpManager::DrawAllGumps:_either_pointer_pGump_is_not_valid__or_the_data_it_points_to_is_not_valid._deleting_gump_and_breaking_out_of_draw_loop._n
call fcn.004ceaa0
add esp, 4
cmp esi, ebx
je 0x4584ca
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
push str.CGumpManager::DrawAllGumps:_deleted_pGump._n
call fcn.004ceaa0
add esp, 4
mov ecx, dword [0xb6613c]
cmp ecx, ebx
je 0x4584e7
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esp + 0x48]
mov dword [0xb6613c], ebx
cmp eax, ebx
mov dword [0xb5566c], ebp
je 0x45868b
push edi
call fcn.00458050
mov ecx, dword [0xc26188]
add esp, 4
dec ecx
cmp ecx, ebx
mov dword [esp + 0x48], ecx
jl 0x458583
mov eax, ecx
shl eax, 4
add eax, 0xba615c
mov edx, dword [eax - 8]
mov edi, dword [eax]
mov esi, dword [ecx*4 + 0xb66150]
mov ebp, dword [ecx*4 + 0xb86150]
cmp edx, edi
mov dword [esp + 0x44], esi
jge 0x458577
mov ecx, dword [eax - 4]
mov ebx, dword [eax - 0xc]
sub ecx, ebx
mov edi, ebp
shl ecx, 1
mov ebx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x541bec]
mov esi, dword [esp + 0x44]
add ecx, ecx
add ebp, ecx
add esi, ecx
mov ecx, dword [eax]
inc edx
cmp edx, ecx
mov dword [esp + 0x44], esi
jl 0x45853c
mov ecx, dword [esp + 0x48]
xor ebx, ebx
dec ecx
sub eax, 0x10
cmp ecx, ebx
mov dword [esp + 0x48], ecx
jge 0x458521
pop edi
pop esi
mov dword [0xc26188], ebx
pop ebp
pop ebx
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
add esp, 0x30
ret
cmp edi, eax
jl 0x4585a1
inc esi
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x24]
push 0
push edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], esi
call fcn.00458100
mov eax, dword [esp + 0x4c]
lea edx, [esp + 0x2c]
push 1
push edx
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x38], esi
mov dword [esp + 0x40], ecx
call fcn.00458100
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
add esp, 0x30
ret
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x45868b
push eax
call fcn.00458050
mov eax, dword [0xc26188]
add esp, 4
lea ecx, [eax - 1]
test ecx, ecx
mov dword [esp + 0x48], ecx
jl 0x458681
mov eax, ecx
shl eax, 4
add eax, 0xba615c
mov edx, dword [eax - 8]
mov edi, dword [eax]
mov esi, dword [ecx*4 + 0xb66150]
mov ebp, dword [ecx*4 + 0xb86150]
cmp edx, edi
mov dword [esp + 0x44], esi
jge 0x458675
mov ecx, dword [eax - 4]
mov ebx, dword [eax - 0xc]
sub ecx, ebx
mov edi, ebp
shl ecx, 1
mov ebx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x541bec]
mov esi, dword [esp + 0x44]
add ecx, ecx
add ebp, ecx
add esi, ecx
mov ecx, dword [eax]
inc edx
cmp edx, ecx
mov dword [esp + 0x44], esi
jl 0x45863c
mov ecx, dword [esp + 0x48]
dec ecx
sub eax, 0x10
test ecx, ecx
mov dword [esp + 0x48], ecx
jge 0x458621
mov dword [0xc26188], 0
mov ecx, dword [esp + 0x34]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x30
ret