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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x72ff62
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x90
push ebx
xor eax, eax
mov ax, word [0x7d45f2]
push ebp
push esi
push edi
push eax
call fcn.00595370
xor ecx, ecx
mov cx, word [0x7d4ab0]
mov esi, eax
mov dword [esp + 0x64], esi
push ecx
call fcn.00595370
xor edx, edx
mov dx, word [0x7d45ac]
add esp, 8
mov ebp, eax
push 0x10
mov eax, 0xffff80bd
push eax
mov ecx, esi
push edx
mov dword [esp + 0x7c], ebp
call fcn.00581f30
push 0x10
mov eax, 0xffff80bd
push eax
xor eax, eax
mov ax, word [0x7d469a]
mov ecx, esi
push eax
call fcn.00581f30
mov cl, byte [esi + 0x76]
mov byte [esp + 0x6c], cl
push 1
mov ecx, esi
call fcn.0057f2a0
mov ecx, esi
call fcn.00583b60
test ebp, ebp
je 0x5e9a64
mov ecx, ebp
call fcn.00583b60
mov edx, dword [0x7c67dc]
mov edi, dword [edx + 0x2e0]
mov eax, dword [edi + 4]
mov eax, dword [eax + 4]
fld dword [eax + 8]
sub esp, 8
fadd dword [0x746498]
mov dword [esp + 0x30], edi
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
add esp, 8
call sub.MSVCRT.dll__ftol
push 1
push eax
xor eax, eax
mov ax, word [0x7d475a]
mov ecx, esi
push eax
call fcn.00581f30
mov edi, dword [edi + 4]
mov edi, dword [edi + 4]
fld dword [edi + 0xc]
sub esp, 8
fadd dword [0x746498]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
add esp, 8
call sub.MSVCRT.dll__ftol
xor ecx, ecx
mov cx, word [0x7d46c8]
push 1
push eax
push ecx
mov ecx, esi
call fcn.00581f30
mov ecx, dword [0x7c67e0]
call fcn.0048e350
mov ecx, 0x7cb478
mov edi, eax
call fcn.004d51b0
mov edx, dword [0x7c67e0]
mov ebx, eax
mov al, byte [edx + 0xb4dd]
test al, al
je 0x5e9b58
mov ecx, edi
call fcn.004e22f0
test al, al
jne 0x5e9b58
mov ecx, edi
call fcn.004db9f0
push eax
mov ecx, edi
call fcn.004db9d0
push eax
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x20]
push eax
push str._s___d__d
push ebx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 4
mov ecx, esp
mov dword [esp + 0x6c], esp
lea edx, [esp + 0x33]
push edx
push ebx
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
mov ecx, esi
call fcn.00580d20
push ebx
jmp 0x5e9b83
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x20]
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x6c], esp
lea edx, [esp + 0x33]
push edx
push eax
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
mov ecx, esi
call fcn.00580d20
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x20]
push eax
call fcn.005f5280
xor ecx, ecx
mov cx, word [0x7d4750]
add esp, 4
mov dword [esp + 0x3c], 1
mov dword [esp + 0x30], 0x200
mov dword [esp + 0x58], 0x40000000
mov dword [esp + 0x4c], esi
push ecx
mov ecx, esi
call fcn.00582de0
xor edx, edx
mov dx, word [0x7d45f0]
mov ecx, esi
mov dword [esp + 0x34], eax
push edx
call fcn.00582de0
test ebp, ebp
mov ebx, eax
mov dword [esp + 0x68], ebx
je 0x5e9bdf
mov dword [esp + 0x3c], 2
mov eax, dword [esp + 0x28]
mov edi, dword [eax + 4]
test edi, edi
jne 0x5e9bee
xor eax, eax
jmp 0x5e9bf6
mov eax, dword [eax + 8]
sub eax, edi
sar eax, 4
xor ebp, ebp
test eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x24], ebp
jle 0x5e9c68
xor esi, esi
mov dword [esp + 0x54], eax
mov eax, dword [esi + edi + 4]
test eax, eax
jne 0x5e9c16
xor edx, edx
jmp 0x5e9c2d
mov ecx, dword [esi + edi + 8]
sub ecx, eax
mov eax, 0x38e38e39
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp ebp, edx
ja 0x5e9c56
mov eax, dword [esi + edi + 4]
test eax, eax
jne 0x5e9c3d
xor ebp, ebp
jmp 0x5e9c56
mov ecx, dword [esi + edi + 8]
sub ecx, eax
mov eax, 0x38e38e39
imul ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov ebp, edx
mov eax, dword [esp + 0x54]
add esi, 0x10
dec eax
mov dword [esp + 0x54], eax
jne 0x5e9c0a
mov dword [esp + 0x24], ebp
mov eax, dword [esp + 0x34]
mov esi, dword [eax + 0x1c]
mov edi, dword [eax + 0x20]
cmp esi, edi
je 0x5e9c9f
mov edx, dword [0x7d46f4]
mov ecx, dword [esi]
cmp word [ecx + 0x14], dx
jne 0x5e9c98
push 0x10
mov eax, 0xffff80be
push eax
push edx
call fcn.00581f30
mov edx, dword [0x7d46f4]
add esi, 4
cmp esi, edi
jne 0x5e9c7c
mov ecx, dword [esp + 0x38]
test ecx, ecx
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x14], eax
jle 0x5e9eed
mov dword [esp + 0x1c], 0
mov dword [esp + 0x44], ecx
cmp eax, dword [ebx + 0x20]
jne 0x5e9cfe
xor edx, edx
mov dx, word [0x7d4758]
push 0
mov ecx, ebx
push edx
call fcn.00588980
mov edi, eax
push 1
mov ecx, edi
mov dword [esp + 0x30], edi
call fcn.005813c0
push 1
mov ecx, edi
call fcn.00581400
mov byte [edi + 0x7f], 0
mov eax, dword [ebx + 0x20]
add eax, 0xfffffffc
mov dword [esp + 0x14], eax
jmp 0x5e9d04
mov edi, dword [eax]
mov dword [esp + 0x2c], edi
mov eax, dword [esp + 0x24]
mov ebx, dword [edi + 0x1c]
xor ebp, ebp
cmp eax, ebp
mov dword [esp + 0x54], ebx
mov dword [esp + 0x50], ebp
jle 0x5e9e9a
mov dword [esp + 0x18], ebp
cmp ebx, dword [edi + 0x20]
jne 0x5e9d94
xor eax, eax
mov ax, word [0x7d4752]
push 0
push 0x7c6180
mov ecx, edi
push eax
call fcn.00588630
mov cx, word [0x7d4752]
mov word [esp + 0x5c], cx
mov edx, dword [esp + 0x5c]
push 0x10
mov esi, eax
push edx
push 0xffff8058
mov ecx, esi
call fcn.00581f30
mov eax, dword [esp + 0x58]
mov ebx, dword [esp + 0x30]
mov ecx, eax
mov dword [esi + 0x148], ecx
push ebx
mov ecx, esi
mov dword [esi + 0x144], eax
call fcn.00581130
push ebx
mov ecx, esi
call fcn.00581210
mov byte [esi + 0x7f], 0
mov eax, dword [edi + 0x20]
lea ebx, [eax - 4]
mov dword [esp + 0x54], ebx
jmp 0x5e9d96
mov esi, dword [ebx]
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + eax + 4]
test edx, edx
je 0x5e9e77
mov ecx, dword [ecx + eax + 8]
sub ecx, edx
mov eax, 0x38e38e39
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp ebp, edx
jae 0x5e9e77
lea ebx, [esi + 0x90]
push 0
mov ecx, ebx
call fcn.00471b00
or ecx, 0xffffffff
xor eax, eax
mov byte [esi + 0x7c], 1
mov edi, 0x7c6180
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea ebp, [esi + 0x164]
push 0x7c6180
mov ecx, ebp
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 4]
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + eax + 4]
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + eax]
push eax
mov ecx, ebx
call fcn.00471b00
or ecx, 0xffffffff
xor eax, eax
mov byte [esi + 0x7c], 1
mov edi, 0x7c6180
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x7c6180
mov ecx, ebp
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + eax + 4]
mov edx, dword [esp + 0x18]
mov eax, dword [edx + eax + 0x10]
push 8
push eax
xor eax, eax
mov ax, word [0x7d46d8]
mov ecx, esi
push eax
call fcn.00581f30
mov ebp, dword [esp + 0x50]
mov ebx, dword [esp + 0x54]
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
add ebx, 4
inc ebp
add ecx, 0x24
cmp ebp, eax
mov dword [esp + 0x54], ebx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x18], ecx
jl 0x5e9d21
mov eax, dword [edi + 0x20]
sub ebx, 4
lea esi, [ebx + 4]
cmp esi, eax
je 0x5e9ec2
mov ebx, dword [esi]
test ebx, ebx
je 0x5e9ebd
mov ecx, ebx
call fcn.00577fb0
push ebx
call fcn.00727530
add esp, 4
cmp esi, dword [edi + 0x20]
jne 0x5e9ea7
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x68]
add edx, 4
add ecx, 0x10
dec eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], ecx
mov eax, edx
jne 0x5e9cbe
mov ecx, dword [ebx + 0x20]
sub eax, 4
lea esi, [eax + 4]
cmp esi, ecx
je 0x5e9f15
mov edi, dword [esi]
test edi, edi
je 0x5e9f10
mov ecx, edi
call fcn.00577fb0
push edi
call fcn.00727530
add esp, 4
cmp esi, dword [ebx + 0x20]
jne 0x5e9efa
mov esi, dword [esp + 0x60]
push 1
mov ecx, esi
call fcn.00583b70
mov ecx, esi
call fcn.00583b60
xor ecx, ecx
mov cx, word [0x7d472c]
push 0x10
mov eax, 0xffff80b4
push eax
push ecx
mov ecx, esi
call fcn.00581f30
mov eax, dword [esp + 0x38]
test eax, eax
jle 0x5ea42f
mov dword [esp + 0x14], 0
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x24]
test eax, eax
jle 0x5ea415
mov edx, eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 4]
mov eax, dword [ecx + eax + 4]
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + eax + 0x18]
test ecx, ecx
je 0x5ea3fb
mov eax, dword [edx + eax + 0x1c]
sub eax, ecx
sar eax, 2
mov dword [esp + 0x38], eax
je 0x5ea3fb
mov eax, dword [esp + 0x34]
mov edi, dword [eax + 0x1c]
mov ebx, dword [eax + 0x20]
cmp edi, ebx
mov dword [esp + 0x2c], 0
mov dword [esp + 0x1c], edi
mov dword [esp + 0x30], ebx
je 0x5ea1f3
mov esi, dword [edi]
mov eax, dword [0x7d46f4]
cmp word [esi + 0x14], ax
jne 0x5ea1d4
push 0
push 0
push 0x10
push eax
lea eax, [esp + 0xa0]
push eax
mov ecx, esi
call fcn.00581440
cmp word [eax], 0x80be
jne 0x5ea1d4
mov eax, dword [0x7d469c]
push 0
push 0
push 0x10
push eax
lea ecx, [esp + 0x9c]
push ecx
mov ecx, esi
call fcn.00581440
cmp word [eax], 0x80be
jne 0x5ea1d4
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + eax + 4]
mov edx, dword [esp + 0x18]
mov eax, dword [edx + eax + 0x18]
mov ecx, dword [esp + 0x2c]
mov edi, dword [eax + ecx*4]
mov edx, dword [edi + 0x38]
mov dword [esp + 0x80], edx
mov eax, dword [edi + 0x3c]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x84], eax
mov ax, word [edx + 0x14]
cmp ax, word [0x7d45f2]
mov ecx, dword [edi + 0x40]
mov dword [esp + 0x88], ecx
jne 0x5ea07c
push 0x200
lea eax, [esp + 0x84]
push eax
jmp 0x5ea089
push 0x100
lea ecx, [esp + 0x84]
push ecx
call fcn.005ed190
fld dword [esp + 0x88]
fsub dword [0x7498a8]
add esp, 8
sub esp, 8
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
call sub.MSVCRT.dll__ftol
fld dword [esp + 0x8c]
fadd dword [0x7498a8]
mov ebx, eax
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
add esp, 8
call sub.MSVCRT.dll__ftol
xor edx, edx
mov dx, word [0x7d46f4]
mov ebp, eax
push 0x10
mov eax, 0xffff80bd
push eax
mov ecx, esi
push edx
call fcn.00581f30
xor eax, eax
mov ax, word [0x7d45dc]
push 8
push edi
mov ecx, esi
push eax
call fcn.00581f30
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 4]
mov edx, dword [esp + 0x14]
mov eax, dword [edx + eax + 4]
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + eax + 0x10]
xor edx, edx
mov dx, word [0x7d46d8]
push 8
push eax
mov ecx, esi
push edx
call fcn.00581f30
mov eax, dword [esi + 0xdc]
cmp eax, ebx
je 0x5ea136
mov byte [esi + 0x78], 1
mov edx, dword [esi + 0x94]
mov ecx, ebx
sub ecx, eax
mov eax, dword [esi + 0xe0]
add edx, ecx
cmp eax, ebp
mov dword [esi + 0x94], edx
mov dword [esi + 0xdc], ebx
je 0x5ea15c
mov byte [esi + 0x78], 1
mov edx, ebp
sub edx, eax
mov eax, dword [esi + 0x98]
add eax, edx
push 0xffff80d1
mov ecx, esi
mov dword [esi + 0x98], eax
mov dword [esi + 0xe0], ebp
call fcn.0057f5b0
push 0x10
mov eax, 0xffff80be
push eax
xor eax, eax
mov ax, word [0x7d469c]
mov ecx, esi
push eax
call fcn.00581f30
xor ecx, ecx
mov cx, word [0x7d45c0]
push 0x10
mov eax, 0xffff80be
push eax
push ecx
mov ecx, esi
call fcn.00581f30
push 0
mov ecx, esi
call fcn.0057f2a0
push esi
call fcn.005eddd0
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x20]
add esp, 4
inc eax
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x38]
add edi, 4
cmp edx, eax
mov dword [esp + 0x1c], edi
jge 0x5ea3fb
cmp edi, ebx
jne 0x5e9fc8
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x38]
jge 0x5ea3fb
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 4]
mov edx, dword [esp + 0x14]
mov eax, dword [edx + eax + 4]
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + eax + 0x18]
mov edx, dword [esp + 0x2c]
mov edi, dword [eax + edx*4]
mov eax, dword [edi + 0x38]
mov dword [esp + 0x74], eax
mov ecx, dword [edi + 0x3c]
mov eax, dword [esp + 0x4c]
mov ax, word [eax + 0x14]
cmp ax, word [0x7d45f2]
mov dword [esp + 0x78], ecx
mov edx, dword [edi + 0x40]
mov dword [esp + 0x7c], edx
jne 0x5ea251
push 0x200
lea ecx, [esp + 0x78]
push ecx
jmp 0x5ea25b
push 0x100
lea edx, [esp + 0x78]
push edx
call fcn.005ed190
fld dword [esp + 0x7c]
fsub dword [0x7498a8]
add esp, 8
sub esp, 8
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
call sub.MSVCRT.dll__ftol
fld dword [esp + 0x80]
fadd dword [0x7498a8]
mov ebp, eax
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
add esp, 8
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0x34]
mov ebx, eax
xor eax, eax
mov ax, word [0x7d46f4]
push 0
push str.texturesdoor_icon.tga
push eax
call fcn.00588630
mov esi, eax
push 3
mov ecx, esi
call fcn.00581130
push 3
mov ecx, esi
call fcn.00581210
xor ecx, ecx
mov cx, word [0x7d46f4]
push 0x10
mov eax, 0xffff80bd
push eax
push ecx
mov ecx, esi
call fcn.00581f30
xor edx, edx
mov dx, word [0x7d45dc]
push 8
push edi
mov ecx, esi
push edx
call fcn.00581f30
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + eax + 4]
mov edx, dword [esp + 0x18]
mov eax, dword [edx + eax + 0x10]
push 8
push eax
xor eax, eax
mov ax, word [0x7d46d8]
mov ecx, esi
push eax
call fcn.00581f30
push 0x10
mov eax, 0xffff80be
push eax
push 0xffff8064
mov ecx, esi
call fcn.00581f30
mov ecx, dword [esi + 0xdc]
mov eax, 0xc6ff3800
mov dword [esi + 0x120], eax
mov dword [esi + 0x124], eax
lea eax, [ebp - 2]
cmp ecx, eax
mov byte [esi + 0x7f], 0
je 0x5ea35e
mov byte [esi + 0x78], 1
mov edi, dword [esi + 0x94]
mov edx, eax
sub edx, ecx
mov ecx, dword [esi + 0xe0]
mov dword [esi + 0xdc], eax
add edi, edx
lea eax, [ebx + 2]
cmp ecx, eax
mov dword [esi + 0x94], edi
je 0x5ea387
mov byte [esi + 0x78], 1
mov edx, eax
sub edx, ecx
add dword [esi + 0x98], edx
push 0xffff80d1
mov ecx, esi
mov dword [esi + 0xe0], eax
call fcn.0057f5b0
push 0x10
mov eax, 0xffff80be
push eax
xor eax, eax
mov ax, word [0x7d469c]
mov ecx, esi
push eax
call fcn.00581f30
xor ecx, ecx
mov cx, word [0x7d45c0]
push 0x10
mov eax, 0xffff80be
push eax
push ecx
mov ecx, esi
call fcn.00581f30
push 0
mov ecx, esi
call fcn.0057f2a0
push esi
call fcn.005eddd0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x3c]
add esp, 4
inc eax
cmp eax, ecx
mov dword [esp + 0x2c], eax
jl 0x5ea201
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x44]
add ecx, 0x24
dec eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x44], eax
jne 0x5e9f74
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x50]
add ecx, 0x10
dec eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x50], eax
jne 0x5e9f5a
mov edx, dword [esp + 0x4c]
mov ax, word [edx + 0x14]
cmp ax, word [0x7d45f2]
jne 0x5eaa57
mov ax, word [0x7d4752]
mov esi, dword [esp + 0x34]
mov ecx, esi
mov dword [esp + 0x44], 0
push eax
call fcn.00582c10
test eax, eax
mov dword [esp + 0x48], eax
je 0x5ea490
mov eax, dword [eax + 0x28]
mov ecx, dword [eax + 0xe0]
xor eax, eax
mov ax, word [0x7d4752]
lea edx, [esp + 0x48]
push edx
mov dword [esp + 0x48], ecx
mov ecx, esi
push eax
call fcn.00582cd0
test eax, eax
mov dword [esp + 0x48], eax
jne 0x5ea466
xor ecx, ecx
mov cx, word [0x7d4752]
push ecx
mov ecx, esi
call fcn.00582c10
test eax, eax
mov dword [esp + 0x48], eax
je 0x5eaa57
mov ecx, dword [0x7d46d8]
push 0
push 0
push 8
push ecx
lea edx, [esp + 0xa4]
push edx
mov ecx, eax
call fcn.00581440
mov eax, dword [eax]
test eax, eax
mov dword [esp + 0x18], eax
je 0x5eaa33
mov ecx, eax
call fcn.004e22f0
test al, al
je 0x5ea507
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0xdc]
test ecx, ecx
jne 0x5eaa33
mov eax, dword [eax + 0x28]
mov ecx, dword [esp + 0x44]
cmp dword [eax + 0xe0], ecx
jne 0x5eaa33
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x88]
test eax, eax
mov dword [esp + 0x24], eax
je 0x5eaa33
mov eax, dword [eax + 4]
test eax, eax
mov dword [esp + 0x38], eax
je 0x5eaa33
mov ecx, dword [esp + 0x24]
call fcn.0047e710
mov ebp, dword [eax + 8]
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x20]
cmp ecx, eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x30], eax
je 0x5ea7e3
mov ecx, dword [esp + 0x1c]
mov esi, dword [ecx]
mov eax, dword [0x7d46f4]
cmp word [esi + 0x14], ax
jne 0x5ea7bc
push 0
push 0
push 0x10
push eax
lea edx, [esp + 0xac]
push edx
mov ecx, esi
call fcn.00581440
cmp word [eax], 0x80be
jne 0x5ea7bc
mov eax, dword [0x7d469c]
push 0
push 0
push 0x10
push eax
lea eax, [esp + 0xa8]
push eax
mov ecx, esi
call fcn.00581440
cmp word [eax], 0x80bd
jne 0x5ea7bc
mov cl, byte [esp + 0x23]
sub esp, 0x10
mov ebx, esp
mov dword [esp + 0x78], esp
mov byte [ebx], cl
push 0
mov ecx, ebx
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
or ecx, 0xffffffff
xor eax, eax
mov edi, str.iconsmap_marker_red.tga
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.iconsmap_marker_red.tga
mov ecx, ebx
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
mov ecx, esi
call fcn.0058af10
mov ecx, dword [esp + 0x18]
call fcn.004e22f0
test al, al
je 0x5ea648
fld dword [ebp]
call sub.MSVCRT.dll__ftol
mov ecx, dword [esi + 0xdc]
shl eax, 4
cmp ecx, eax
je 0x5ea619
mov byte [esi + 0x78], 1
mov ebx, dword [esi + 0x94]
mov edx, eax
sub edx, ecx
add ebx, edx
mov dword [esi + 0xdc], eax
mov dword [esi + 0x94], ebx
fld dword [ebp + 4]
call sub.MSVCRT.dll__ftol
mov ecx, dword [esi + 0xe0]
shl eax, 4
cmp ecx, eax
je 0x5ea6c0
jmp 0x5ea6bc
mov eax, dword [esp + 0x48]
fld dword [ebp]
mov edi, dword [eax + 0xdc]
mov eax, dword [eax + 0x28]
mov ebx, dword [eax + 0xdc]
call sub.MSVCRT.dll__ftol
mov ecx, dword [esi + 0xdc]
shl eax, 4
add eax, ebx
add eax, edi
cmp ecx, eax
je 0x5ea678
mov byte [esi + 0x78], 1
mov edi, dword [esi + 0x94]
mov edx, eax
sub edx, ecx
mov dword [esi + 0xdc], eax
add edi, edx
mov dword [esi + 0x94], edi
fld dword [ebp + 4]
mov eax, dword [esp + 0x48]
mov edi, dword [eax + 0xe0]
mov eax, dword [eax + 0x28]
mov ebx, dword [eax + 0xe0]
call sub.MSVCRT.dll__ftol
mov ecx, dword [esi + 0xe0]
shl eax, 4
add eax, ebx
add eax, edi
cmp ecx, eax
je 0x5ea6c0
mov byte [esi + 0x78], 1
mov edx, eax
sub edx, ecx
mov ecx, dword [esi + 0x98]
mov dword [esi + 0xe0], eax
push 0x10
add ecx, edx
mov eax, 0xffff80bd
push eax
mov dword [esi + 0x98], ecx
xor eax, eax
mov ax, word [0x7d46f4]
mov ecx, esi
push eax
call fcn.00581f30
xor ecx, ecx
mov cx, word [0x7d45dc]
push 0x10
mov eax, 0xffff80b4
push eax
push ecx
mov ecx, esi
call fcn.00581f30
mov edx, dword [esp + 0x18]
xor eax, eax
mov ax, word [0x7d46d8]
push 8
push edx
mov ecx, esi
push eax
call fcn.00581f30
push 1
mov ecx, esi
call fcn.0057f2a0
push 0xffff80d1
mov ecx, esi
call fcn.0057f5b0
xor ecx, ecx
mov cx, word [0x7d45c0]
push 0x10
mov eax, 0xffff80bd
push eax
push ecx
mov ecx, esi
call fcn.00581f30
xor edx, edx
mov dx, word [0x7d469c]
push 0x10
mov eax, 0xffff80bd
push eax
mov ecx, esi
push edx
call fcn.00581f30
fld dword [ebp]
call sub.MSVCRT.dll__ftol
push 1
push eax
xor eax, eax
mov ax, word [0x7d45e8]
mov ecx, esi
push eax
call fcn.00581f30
fld dword [ebp + 4]
call sub.MSVCRT.dll__ftol
xor ecx, ecx
mov cx, word [0x7d46d0]
push 1
push eax
push ecx
mov ecx, esi
call fcn.00581f30
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x24]
inc edx
mov ecx, esi
mov dword [esp + 0x14], edx
call fcn.0047e720
mov eax, dword [esi + 0x10]
test eax, eax
je 0x5ea7e3
mov ebp, dword [eax + 8]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x14]
add ecx, 4
cmp eax, edx
mov dword [esp + 0x1c], ecx
jge 0x5eaa33
mov eax, dword [esp + 0x30]
cmp ecx, eax
jne 0x5ea55a
mov ecx, dword [esp + 0x38]
cmp dword [esp + 0x14], ecx
jge 0x5eaa33
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x30], 0xffff80bd
mov ecx, dword [esp + 0x34]
xor edx, edx
mov dx, word [0x7d46f4]
push 0
push str.iconsmap_marker_red.tga
push edx
call fcn.00588630
mov ecx, ebx
mov esi, eax
call fcn.004e22f0
test al, al
je 0x5ea87f
fld dword [ebp]
call sub.MSVCRT.dll__ftol
mov ecx, dword [esi + 0xdc]
shl eax, 4
cmp ecx, eax
je 0x5ea841
mov byte [esi + 0x78], 1
mov edx, eax
sub edx, ecx
add dword [esi + 0x94], edx
mov dword [esi + 0xdc], eax
fld dword [ebp + 4]
call sub.MSVCRT.dll__ftol
mov ecx, dword [esi + 0xe0]
shl eax, 4
cmp ecx, eax
je 0x5ea86a
mov byte [esi + 0x78], 1
mov edx, eax
sub edx, ecx
add dword [esi + 0x98], edx
mov dword [esi + 0xe0], eax
jmp 0x5ea90f
mov eax, dword [esp + 0x48]
fld dword [ebp]
mov edi, dword [eax + 0xdc]
mov eax, dword [eax + 0x28]
mov ebx, dword [eax + 0xdc]
call sub.MSVCRT.dll__ftol
mov ecx, dword [esi + 0xdc]
shl eax, 4
add eax, ebx
add eax, edi
cmp ecx, eax
je 0x5ea8af
mov byte [esi + 0x78], 1
mov edi, dword [esi + 0x94]
mov edx, eax
sub edx, ecx
mov dword [esi + 0xdc], eax
add edi, edx
mov dword [esi + 0x94], edi
fld dword [ebp + 4]
mov eax, dword [esp + 0x48]
mov edi, dword [eax + 0xe0]
mov eax, dword [eax + 0x28]
mov ebx, dword [eax + 0xe0]
call sub.MSVCRT.dll__ftol
mov ecx, dword [esi + 0xe0]
shl eax, 4
add eax, ebx
add eax, edi
cmp ecx, eax
je 0x5ea8f7
mov byte [esi + 0x78], 1
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x18]
mov edx, eax
sub edx, ecx
add dword [esi + 0x98], edx
mov dword [esi + 0xe0], eax
push 0x10
mov eax, 0xffff80bd
push eax
xor eax, eax
mov ax, word [0x7d46f4]
mov ecx, esi
push eax
call fcn.00581f30
xor ecx, ecx
mov cx, word [0x7d45dc]
push 0x10
mov eax, 0xffff80b4
push eax
push ecx
mov ecx, esi
call fcn.00581f30
xor edx, edx
mov dx, word [0x7d46d8]
push 8
push ebx
mov ecx, esi
push edx
call fcn.00581f30
push 1
mov ecx, esi
call fcn.0057f2a0
push 0xffff80d1
mov ecx, esi
call fcn.0057f5b0
push 0x10
mov eax, 0xffff80bd
push eax
xor eax, eax
mov ax, word [0x7d45c0]
mov ecx, esi
push eax
call fcn.00581f30
mov ecx, dword [esp + 0x30]
xor edx, edx
mov dx, word [0x7d469c]
push 0x10
push ecx
mov ecx, esi
push edx
call fcn.00581f30
fld dword [ebp]
call sub.MSVCRT.dll__ftol
push 1
push eax
xor eax, eax
mov ax, word [0x7d45e8]
mov ecx, esi
push eax
call fcn.00581f30
fld dword [ebp + 4]
call sub.MSVCRT.dll__ftol
xor ecx, ecx
mov cx, word [0x7d46d0]
push 1
push eax
push ecx
mov ecx, esi
call fcn.00581f30
push 7
mov ecx, esi
call fcn.00581130
push 7
mov ecx, esi
call fcn.00581210
push 0x10
mov eax, 0xffff80be
push eax
push 0xffff8064
mov ecx, esi
call fcn.00581f30
mov edx, dword [esp + 0x14]
mov eax, 0xc6ff3800
mov dword [esi + 0x120], eax
mov dword [esi + 0x124], eax
mov byte [esi + 0x7f], 0
inc edx
mov ecx, edi
mov dword [esp + 0x14], edx
call fcn.0047e720
mov eax, dword [edi + 0x10]
test eax, eax
je 0x5eaa33
mov ebp, dword [eax + 8]
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0x38]
jl 0x5ea801
xor ecx, ecx
mov cx, word [0x7d4752]
lea eax, [esp + 0x48]
push eax
push ecx
mov ecx, dword [esp + 0x3c]
call fcn.00582cd0
test eax, eax
mov dword [esp + 0x48], eax
jne 0x5ea4ad
mov ebx, dword [esp + 0x34]
mov esi, dword [ebx + 0x1c]
cmp esi, dword [ebx + 0x20]
je 0x5eaacf
mov ecx, dword [esi]
mov eax, dword [0x7d46f4]
cmp word [ecx + 0x14], ax
jne 0x5eaac7
push 0
push 0
push 0x10
push eax
lea edx, [esp + 0x74]
push edx
call fcn.00581440
cmp word [eax], 0x80be
jne 0x5eaac7
mov ecx, dword [ebx + 0x20]
mov edi, dword [esi]
lea eax, [esi + 4]
cmp eax, ecx
je 0x5eaaa4
mov edx, esi
sub edx, eax
mov ebp, dword [eax]
mov dword [edx + eax], ebp
add eax, 4
cmp eax, ecx
jne 0x5eaa98
mov eax, dword [ebx + 0x20]
add eax, 0xfffffffc
test edi, edi
mov dword [esp + 0x30], eax
mov dword [ebx + 0x20], eax
je 0x5eaaca
mov ecx, edi
call fcn.00577fb0
push edi
call fcn.00727530
add esp, 4
jmp 0x5eaaca
add esi, 4
cmp esi, dword [ebx + 0x20]
jne 0x5eaa63
call fcn.005ef890
mov esi, dword [esp + 0x70]
xor eax, eax
mov ax, word [0x7d4750]
mov ecx, esi
mov dword [esp + 0x4c], esi
push eax
call fcn.00582de0
xor ecx, ecx
mov cx, word [0x7d45f0]
mov dword [esp + 0x34], eax
push ecx
mov ecx, esi
call fcn.00582de0
mov ebx, eax
mov eax, dword [esp + 0x3c]
dec eax
mov dword [esp + 0x68], ebx
mov dword [esp + 0x30], 0x100
mov dword [esp + 0x58], 0x3f800000
mov dword [esp + 0x3c], eax
jne 0x5e9bdf
mov edi, dword [esp + 0x60]
mov ecx, edi
call fcn.00583b60
mov ecx, dword [0x7c67dc]
call fcn.0040ff20
mov edx, dword [eax + 0x10]
shr edx, 0xa
test dl, 1
je 0x5eab77
xor eax, eax
mov ax, word [0x7d45f2]
push eax
call fcn.00595370
push eax
push 0x5f43504e
call fcn.005ecac0
xor ecx, ecx
mov cx, word [0x7d4ab0]
push ecx
call fcn.00595370
push eax
push 0x5f43504e
jmp 0x5eaba5
xor edx, edx
mov dx, word [0x7d45f2]
push edx
call fcn.00595370
push eax
push 0x41455243
call fcn.005ecac0
xor eax, eax
mov ax, word [0x7d4ab0]
push eax
call fcn.00595370
push eax
push 0x41455243
call fcn.005ecac0
add esp, 0x18
push 0x48434e45
call fcn.005eca80
push 0x4b434f4c
call fcn.005eca80
xor ecx, ecx
mov cx, word [0x7d4640]
add esp, 8
push ecx
mov ecx, edi
call fcn.00582de0
xor edx, edx
mov dx, word [0x7d476c]
mov esi, eax
mov ecx, edi
mov dword [esp + 0x30], esi
push edx
call fcn.00582de0
mov ebp, eax
mov al, byte [esi + 0x76]
mov cl, byte [ebp + 0x76]
xor ebx, ebx
cmp esi, ebx
mov dword [esp + 0x58], ebp
mov byte [esp + 0x23], al
mov byte [esp + 0x43], cl
je 0x5eac13
test al, al
jne 0x5eac13
push 1
mov ecx, esi
call fcn.0057f2a0
cmp ebp, ebx
je 0x5eac28
mov al, byte [esp + 0x43]
test al, al
jne 0x5eac28
push 1
mov ecx, ebp
call fcn.0057f2a0
push 1
mov ecx, edi
call fcn.00583b70
mov ecx, edi
call fcn.00583b60
mov edx, dword [esp + 0x6c]
push edx
mov ecx, edi
call fcn.0057f2a0
xor eax, eax
mov ax, word [0x7d4714]
mov ecx, edi
push eax
call fcn.00582de0
mov ebp, eax
mov al, byte [ebp + 0x76]
test al, al
je 0x5eaeba
mov eax, dword [0x7d4664]
push ebx
push ebx
push 0x10
push eax
lea ecx, [esp + 0x74]
push ecx
mov ecx, edi
call fcn.00581440
cmp word [eax], 0x80be
jne 0x5eaeba
mov edx, dword [0x7c67e0]
mov eax, dword [edx]
mov esi, dword [eax + 0xb380]
mov ecx, dword [ebp + 0x90]
cmp ecx, esi
je 0x5eacb0
cmp ecx, ebx
je 0x5eaca3
call fcn.00404630
cmp esi, ebx
mov dword [ebp + 0x90], esi
je 0x5eacb0
inc dword [esi + 4]
or ecx, 0xffffffff
xor eax, eax
mov byte [ebp + 0x7c], 1
mov edi, 0x7c6180
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x7c6180
lea ecx, [ebp + 0x164]
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
mov eax, dword [ebp + 0x90]
cmp eax, ebx
mov edi, dword [ebp + 0x88]
mov dword [esp + 0x44], eax
je 0x5eae60
cmp edi, ebx
je 0x5eae60
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
cmp eax, ebx
je 0x5ead0e
cmp eax, 0x7ddeb8
je 0x5ead37
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x5ead00
xor al, al
neg al
sbb eax, eax
test edi, eax
je 0x5eae60
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 4]
cmp eax, ebx
je 0x5ead3f
cmp eax, 0x7ddeb8
je 0x5ead3b
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x5ead27
jmp 0x5ead3f
mov al, 1
jmp 0x5ead10
mov al, 1
jmp 0x5ead41
xor al, al
neg al
sbb eax, eax
and eax, edi
cmp dword [eax + 0x9c], ebx
ja 0x5ead56
xor edi, edi
jmp 0x5eae60
mov eax, dword [eax + 0x94]
mov edi, dword [eax]
cmp edi, ebx
je 0x5eae60
push 4
lea ecx, [esp + 0x70]
push ecx
mov ecx, edi
call fcn.006ead20
mov ebx, dword [eax]
mov eax, dword [esp + 0x6c]
test eax, eax
mov dword [esp + 0x5c], ebx
je 0x5ead9d
mov esi, dword [eax + 4]
mov ecx, eax
add eax, 4
dec esi
mov edx, esi
test edx, edx
mov dword [eax], esi
jne 0x5ead9d
test ecx, ecx
je 0x5ead9d
mov edx, dword [ecx]
push 1
call dword [edx]
mov eax, dword [ebx + 0x20]
mov eax, dword [eax]
test eax, eax
mov dword [esp + 0x3c], eax
jne 0x5eae51
push 0x14
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x64], esi
test esi, esi
mov dword [esp + 0xa8], 0
je 0x5eae2d
lea ebx, [esi + 4]
push 0
mov ecx, ebx
call fcn.0040a840
push 0
mov ecx, ebx
mov byte [esp + 0xac], 1
mov dword [esi], 0x7465e8
call fcn.00471b00
mov ebx, dword [esp + 0x5c]
xor eax, eax
mov dword [esi + 0x10], eax
mov dword [esi + 8], 3
mov dword [esi + 0xc], 1
mov word [0x7de468], ax
mov byte [0x7de46a], al
mov byte [0x7de46b], al
mov eax, dword [0x7de46c]
inc eax
mov word [0x7c4e3c], 0xffb5
mov dword [0x7de46c], eax
jmp 0x5eae2f
xor esi, esi
lea ecx, [esp + 0x3c]
push ecx
push 0
lea ecx, [ebx + 0x1c]
mov dword [esp + 0xb0], 0xffffffff
mov dword [esp + 0x44], esi
call fcn.004975d0
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
push edx
lea ecx, [eax + 4]
call fcn.00471b00
xor ebx, ebx
mov ecx, edi
call fcn.006eb0e0
push 1
push ebx
push ebx
mov ecx, edi
call fcn.006eb000
mov ecx, dword [esp + 0x60]
push 0x10
mov eax, 0xffff80bd
push eax
xor eax, eax
mov ax, word [0x7d4664]
push eax
call fcn.00581f30
mov ecx, dword [ebp + 0x160]
mov eax, 0xffff80b4
cmp ecx, eax
mov byte [ebp + 0x7c], 0
je 0x5eaea3
mov byte [ebp + 0x7c], 1
push 1
mov ecx, ebp
mov dword [ebp + 0x160], eax
call fcn.0057f2a0
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x30]
xor ecx, ecx
mov cx, word [0x7d45f0]
push ecx
mov ecx, edi
call fcn.00582de0
mov edx, dword [0x7c67dc]
mov dword [esp + 0x34], eax
mov eax, dword [edx + 0x2e4]
test dword [eax + 0x24], 0x2000000
jne 0x5eb2bb
mov edi, dword [esp + 0x28]
xor ebp, ebp
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], ebp
mov eax, dword [edi + 4]
cmp eax, ebx
je 0x5eb2bb
mov ecx, dword [edi + 8]
sub ecx, eax
mov eax, dword [esp + 0x24]
sar ecx, 4
cmp eax, ecx
jae 0x5eb2bb
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x1c]
mov ecx, dword [esp + 0x24]
mov edx, dword [eax + ecx*4]
xor esi, esi
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x4c], ebx
mov eax, dword [edi + 4]
mov edx, dword [eax + ebp + 4]
cmp edx, ebx
je 0x5eb2a2
mov ecx, dword [eax + ebp + 8]
sub ecx, edx
mov eax, 0x38e38e39
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp esi, edx
jae 0x5eb2a2
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax + esi*4]
mov esi, dword [eax + 0x88]
cmp esi, ebx
je 0x5eb27f
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 4]
cmp eax, ebx
je 0x5eaf90
cmp eax, 0x7ddeb8
je 0x5eafb9
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x5eaf82
xor al, al
neg al
sbb eax, eax
test esi, eax
je 0x5eb27f
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
cmp eax, ebx
je 0x5eafc1
cmp eax, 0x7ddeb8
je 0x5eafbd
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x5eafa9
jmp 0x5eafc1
mov al, 1
jmp 0x5eaf92
mov al, 1
jmp 0x5eafc3
xor al, al
neg al
sbb eax, eax
and eax, esi
cmp dword [eax + 0x9c], ebx
jbe 0x5eafdd
mov ecx, dword [eax + 0x94]
mov ecx, dword [ecx]
cmp ecx, ebx
jne 0x5eafef
push str.Menumap_::_darkmap___block_is_not_a_node
call fcn.00477400
add esp, 4
jmp 0x5eb27f
push 4
lea edx, [esp + 0x54]
push edx
call fcn.006ead20
mov edi, dword [eax]
mov eax, dword [esp + 0x50]
cmp eax, ebx
je 0x5eb020
mov esi, dword [eax + 4]
mov ecx, eax
add eax, 4
dec esi
mov edx, esi
cmp edx, ebx
mov dword [eax], esi
jne 0x5eb020
cmp ecx, ebx
je 0x5eb020
mov eax, dword [ecx]
push 1
call dword [eax]
cmp edi, ebx
jne 0x5eb031
push str.MenuMap:_map_block_has_no_texturing_property
call fcn.00477400
add esp, 4
mov ecx, dword [edi + 0x20]
mov ebp, dword [ecx + 4]
cmp ebp, ebx
jne 0x5eb22b
push 0x14
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x64], esi
cmp esi, ebx
mov dword [esp + 0xa8], 2
je 0x5eb0e6
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax + ecx + 4]
mov edx, dword [esp + 0x4c]
mov ebp, dword [edx + eax + 4]
mov dword [esi + 4], ebx
mov dword [esi], 0x7465e8
mov ecx, dword [esi + 4]
cmp ecx, ebp
mov byte [esp + 0xa8], 3
je 0x5eb0ae
cmp ecx, ebx
je 0x5eb0a4
dec dword [ecx + 4]
jne 0x5eb0a4
cmp ecx, ebx
je 0x5eb0a4
mov eax, dword [ecx]
push 1
call dword [eax]
cmp ebp, ebx
mov dword [esi + 4], ebp
je 0x5eb0ae
inc dword [ebp + 4]
mov dword [esi + 8], ebx
mov dword [esi + 0xc], 1
mov dword [esi + 0x10], ebx
mov eax, dword [0x7de46c]
inc eax
mov word [0x7de468], bx
mov word [0x7c4e3c], 0xffb5
mov byte [0x7de46a], 0
mov byte [0x7de46b], 0
mov dword [0x7de46c], eax
jmp 0x5eb0e8
xor esi, esi
mov ecx, dword [edi + 0x20]
mov ecx, dword [ecx + 4]
cmp esi, ecx
mov dword [esp + 0xa8], 0xffffffff
je 0x5eb150
cmp ecx, ebx
je 0x5eb107
mov edx, dword [ecx]
push 1
call dword [edx]
mov ecx, dword [edi + 0x24]
mov eax, 1
cmp ecx, eax
jbe 0x5eb150
cmp dword [edi + 0x28], eax
ja 0x5eb129
cmp esi, ebx
mov dword [edi + 0x28], 2
je 0x5eb14a
mov eax, dword [edi + 0x2c]
inc eax
jmp 0x5eb147
cmp esi, ebx
je 0x5eb13b
mov eax, dword [edi + 0x20]
cmp dword [eax + 4], ebx
jne 0x5eb14a
mov eax, dword [edi + 0x2c]
inc eax
jmp 0x5eb147
mov ecx, dword [edi + 0x20]
cmp dword [ecx + 4], ebx
je 0x5eb14a
mov eax, dword [edi + 0x2c]
dec eax
mov dword [edi + 0x2c], eax
mov edx, dword [edi + 0x20]
mov dword [edx + 4], esi
mov eax, dword [edi + 0x20]
mov esi, dword [eax]
cmp esi, ebx
jne 0x5eb226
push 0x14
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [esp + 0x64], esi
cmp esi, ebx
mov dword [esp + 0xa8], 4
je 0x5eb1d1
lea ecx, [esi + 4]
mov dword [ecx], ebx
push ebx
mov byte [esp + 0xac], 5
mov dword [esi], 0x7465e8
call fcn.00471b00
mov dword [esi + 8], 3
mov dword [esi + 0xc], 1
mov dword [esi + 0x10], ebx
mov eax, dword [0x7de46c]
inc eax
mov word [0x7de468], bx
mov word [0x7c4e3c], 0xffb5
mov byte [0x7de46a], 0
mov byte [0x7de46b], 0
mov dword [0x7de46c], eax
jmp 0x5eb1d3
xor esi, esi
cmp dword [edi + 0x24], ebx
mov dword [esp + 0xa8], 0xffffffff
jbe 0x5eb226
cmp dword [edi + 0x28], ebx
ja 0x5eb200
cmp esi, ebx
mov dword [edi + 0x28], 1
je 0x5eb221
inc dword [edi + 0x2c]
mov eax, dword [edi + 0x20]
mov dword [eax], esi
mov dword [esi + 8], ebx
jmp 0x5eb27f
cmp esi, ebx
je 0x5eb217
mov ecx, dword [edi + 0x20]
cmp dword [ecx], ebx
jne 0x5eb221
inc dword [edi + 0x2c]
mov eax, ecx
mov dword [eax], esi
mov dword [esi + 8], ebx
jmp 0x5eb27f
mov edx, dword [edi + 0x20]
cmp dword [edx], ebx
je 0x5eb221
dec dword [edi + 0x2c]
mov eax, dword [edi + 0x20]
mov dword [eax], esi
mov dword [esi + 8], ebx
jmp 0x5eb27f
mov ecx, dword [ebp + 4]
cmp ecx, ebx
je 0x5eb244
dec dword [ecx + 4]
jne 0x5eb241
cmp ecx, ebx
je 0x5eb241
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [ebp + 4], ebx
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx + edx + 4]
mov ecx, dword [esp + 0x4c]
mov esi, dword [eax + ecx + 4]
mov ecx, dword [ebp + 4]
cmp ecx, esi
je 0x5eb27f
cmp ecx, ebx
je 0x5eb275
dec dword [ecx + 4]
jne 0x5eb275
cmp ecx, ebx
je 0x5eb275
mov edx, dword [ecx]
push 1
call dword [edx]
cmp esi, ebx
mov dword [ebp + 4], esi
je 0x5eb27f
inc dword [esi + 4]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x4c]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x28]
inc ecx
add eax, 0x24
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x4c], eax
mov esi, ecx
jmp 0x5eaf31
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x30]
inc ecx
add ebp, 0x10
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], ebp
jmp 0x5eaef6
cmp esi, ebx
je 0x5eb2cf
mov al, byte [esp + 0x23]
test al, al
jne 0x5eb2cf
push ebx
mov ecx, esi
call fcn.0057f2a0
mov ecx, dword [esp + 0x58]
cmp ecx, ebx
je 0x5eb2e5
mov al, byte [esp + 0x43]
test al, al
jne 0x5eb2e5
push ebx
call fcn.0057f2a0
mov edi, dword [esp + 0x60]
push ebx
push edi
call fcn.005ebca0
mov esi, dword [esp + 0x78]
push ebx
push esi
call fcn.005ebca0
add esp, 0x10
push 1
mov ecx, edi
call fcn.00583b70
push 1
mov ecx, esi
call fcn.00583b70
push edi
push ebx
push ebx
push 0xffff80bd
push edi
call fcn.005eb760
mov ecx, dword [esp + 0xb4]
add esp, 0x14
pop edi
mov dword fs:[0], ecx
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret