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

Disassembly:
sub esp, 0x68
push ebp
mov ebp, dword [esp + 0x70]
xor ecx, ecx
push edi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x40], ecx
mov edi, dword [ebp + 8]
mov byte [esp + 0xb], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], edi
mov ecx, dword [edi + 0x74]
mov dword [esp + 0x50], ecx
cmp dword [edi + 0x78], ecx
jg 0x4b26aa
push 0
push 0
push 0
push 0x11
push edi
call fcn.004ceed0
add esp, 0x14
mov dword [esp + 0x50], eax
jmp 0x4b26dd
lea eax, [ecx + 1]
mov dword [edi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4], 0x11
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x7c]
xor ecx, ecx
push ebx
push esi
mov dword [esp + 0x14], ecx
mov eax, dword [edx + 0x10]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x54], 3
mov esi, dword [eax + 0x18]
mov eax, dword [eax + 0xc]
lea ebx, [eax + eax*2]
mov eax, dword [esp + 0x90]
shl ebx, 4
add ebx, esi
mov dword [esp + 0x44], ebx
mov eax, dword [eax + 0x4c]
mov dword [esp + 0x24], eax
xor eax, eax
mov dword [esp + 0x18], eax
cmp esi, ebx
jae 0x4b2921
test byte [esi + 0xa], 2
mov ebx, dword [esi]
jne 0x4b27b4
test byte [edx + 0x24], 8
je 0x4b2745
test byte [ebx + 4], 1
je 0x4b27b4
mov eax, dword [esp + 0x54]
mov word [esp + 0x70], ax
mov eax, dword [edx + 0x2c]
mov dword [esp + 0x60], fcn.004b8870
mov dword [esp + 0x64], 0x5144b0
mov dword [esp + 0x74], eax
test ebx, ebx
je 0x4b2795
lea eax, [esp + 0x5c]
push ebx
push eax
call fcn.0053a2d0
add esp, 8
cmp word [esp + 0x70], 0
je 0x4b27a9
test ebx, ebx
je 0x4b2795
push 0
push 0
push ebx
push dword [ebp]
call fcn.004b7db0
add esp, 0x10
jmp 0x4b2797
xor eax, eax
push eax
push dword [esp + 0x30]
push ebp
call fcn.004f3ae0
add esp, 0xc
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x84]
mov ecx, dword [esi + 0x14]
cmp ecx, dword [edx + 0x2c]
jne 0x4b2910
movzx ecx, word [esi + 0xc]
test cl, 0x82
je 0x4b2910
test byte [edx + 0x24], 8
je 0x4b27e3
mov eax, dword [esi]
test byte [eax + 4], 1
jne 0x4b27e3
test cl, cl
js 0x4b290c
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
and ecx, dword [esp + 0x88]
and eax, dword [esp + 0x8c]
or ecx, eax
jne 0x4b290c
mov ecx, dword [esi + 0x18]
test ecx, ecx
js 0x4b290c
mov eax, dword [edx + 0x10]
add ecx, ecx
push dword [esi]
mov eax, dword [eax + 4]
mov bl, byte [eax + ecx*8 + 8]
call fcn.004b1ec0
add esp, 4
cmp al, 0x42
jl 0x4b2840
jne 0x4b2830
xor eax, eax
cmp bl, 0x42
sete al
jmp 0x4b2838
xor eax, eax
cmp bl, 0x43
setge al
test eax, eax
je 0x4b2905
mov ebx, dword [esi + 0x18]
cmp ebx, 0x40
jl 0x4b2854
xor ebp, ebp
mov dword [esp + 0x40], closesocket
jmp 0x4b2868
mov eax, 1
xor edx, edx
mov ecx, ebx
call fcn.00415420
mov ebp, eax
mov dword [esp + 0x40], edx
cmp byte [esp + 0x13], 0
jne 0x4b2894
mov eax, dword [esp + 0x38]
add ebx, ebx
mov ecx, dword [eax + 4]
push dword [ecx + ebx*8]
push dword [eax]
push str.automatic_index_on__s__s_
push 0x11c
call fcn.004a3470
add esp, 0x10
mov byte [esp + 0x13], 1
mov ebx, dword [esp + 0x40]
mov ecx, ebp
and ecx, dword [esp + 0x20]
mov eax, ebx
and eax, dword [esp + 0x18]
or ecx, eax
jne 0x4b2901
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
inc eax
push eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x80]
push edx
push dword [eax]
call fcn.0053d720
add esp, 0xc
test eax, eax
jne 0x4b32e2
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
or dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x7c]
mov eax, dword [eax + 0x38]
mov edx, dword [esp + 0x84]
mov dword [eax + ecx*4], esi
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x4c]
or eax, ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
jmp 0x4b2914
mov ebp, dword [esp + 0x7c]
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
add esi, 0x30
cmp esi, dword [esp + 0x44]
jb 0x4b2731
mov ebx, dword [esp + 0x24]
not eax
or eax, 0x80000000
xor esi, esi
mov word [ebx + 0x30], cx
mov word [ebx + 0x18], cx
mov ecx, dword [esp + 0x20]
mov dword [ebx + 0x2c], 0x4241
not ecx
mov ebx, dword [edx + 0x3c]
and eax, ebx
and ecx, dword [edx + 0x38]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x4c], ebx
movzx ecx, word [eax + 0x22]
mov eax, 0x3f
mov dword [esp + 0x40], ecx
cmp ax, cx
jge 0x4b2973
mov dword [esp + 0x34], eax
jmp 0x4b297e
movsx eax, cx
mov dword [esp + 0x34], eax
test eax, eax
jle 0x4b29c2
mov edi, dword [esp + 0x34]
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
lea ebx, [ebx]
mov eax, 1
xor edx, edx
mov ecx, esi
call fcn.00415420
and eax, dword [esp + 0x20]
and edx, ebx
or eax, edx
je 0x4b29a9
inc ebp
inc esi
cmp esi, edi
jl 0x4b2990
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x7c]
and ebx, 0x80000000
xor eax, eax
or eax, ebx
je 0x4b29e0
movsx eax, cx
mov ecx, dword [esp + 0x14]
add ecx, 0xffffffc1
add ecx, eax
mov dword [esp + 0x14], ecx
jmp 0x4b29e4
mov ecx, dword [esp + 0x14]
lea eax, [ecx + 1]
mov ecx, dword [ebp]
movzx eax, ax
movsx ebx, ax
mov dword [esp + 0x3c], eax
lea edx, [ebx*4 + 7]
and edx, 0xfffffff8
lea eax, [ebx*4 + 9]
add eax, ebx
mov dword [esp + 0x4c], edx
and eax, 0xfffffff8
add edx, 0x48
add eax, edx
cdq
mov esi, eax
test ecx, ecx
je 0x4b2a27
push edx
push esi
push ecx
call fcn.004f0ee0
add esp, 0xc
jmp 0x4b2a8c
mov eax, esi
or eax, edx
je 0x4b2a8a
test edx, edx
ja 0x4b2a8a
jb 0x4b2a3b
cmp esi, 0x7fffff00
jae 0x4b2a8a
cmp dword [0x69bed0], 0
je 0x4b2a7e
mov eax, dword [0x6a3fe8]
test eax, eax
je 0x4b2a57
push eax
call dword [0x69bf20]
add esp, 4
lea eax, [esp + 0x40]
push eax
push esi
call fcn.004d4e50
mov eax, dword [0x6a3fe8]
add esp, 8
test eax, eax
je 0x4b2a78
push eax
call dword [0x69bf28]
add esp, 4
mov eax, dword [esp + 0x40]
jmp 0x4b2a8c
push esi
call dword [0x69bef0]
add esp, 4
jmp 0x4b2a8c
xor eax, eax
mov dword [esp + 0x1c], eax
test eax, eax
je 0x4b32e6
push esi
mov esi, eax
push 0
push esi
call sub.MSVCRT.dll_memset
lea eax, [esi + 0x48]
add esp, 0xc
mov dword [esi + 0x20], eax
add eax, dword [esp + 0x4c]
mov dword [esi + 8], eax
lea eax, [eax + ebx*2]
add eax, 2
mov dword [esi + 4], eax
lea eax, [eax + ebx*2]
xor ebx, ebx
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x3c]
mov word [esi + 0x34], ax
dec eax
mov word [esi + 0x32], ax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [eax + 0x20], esi
mov eax, dword [esp + 0x38]
mov dword [esi], str.auto_index
mov dword [esi + 0xc], eax
mov esi, dword [esp + 0x80]
mov esi, dword [esi + 0x18]
mov dword [esp + 0x30], esi
cmp esi, dword [esp + 0x44]
jae 0x4b2c7a
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x84]
mov eax, dword [esi + 0x14]
cmp eax, dword [edx + 0x2c]
jne 0x4b2c65
movzx ecx, word [esi + 0xc]
test cl, 0x82
je 0x4b2c65
test byte [edx + 0x24], 8
je 0x4b2b3f
mov eax, dword [esi]
test byte [eax + 4], 1
jne 0x4b2b3f
test cl, cl
js 0x4b2c65
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
and ecx, dword [esp + 0x88]
and eax, dword [esp + 0x8c]
or ecx, eax
jne 0x4b2c65
mov ecx, dword [esi + 0x18]
test ecx, ecx
js 0x4b2c65
mov eax, dword [edx + 0x10]
add ecx, ecx
push dword [esi]
mov eax, dword [eax + 4]
mov al, byte [eax + ecx*8 + 8]
mov byte [esp + 0x17], al
call fcn.004b1ec0
add esp, 4
cmp al, 0x42
jl 0x4b2ba4
jne 0x4b2b92
xor eax, eax
cmp byte [esp + 0x13], 0x42
sete al
jmp 0x4b2b9c
xor eax, eax
cmp byte [esp + 0x13], 0x43
setge al
test eax, eax
je 0x4b2c5e
mov ecx, dword [esi + 0x18]
cmp ecx, 0x40
jl 0x4b2bb9
mov ecx, closesocket
xor eax, eax
mov dword [esp + 0x4c], ecx
jmp 0x4b2bcb
mov eax, 1
xor edx, edx
call fcn.00415420
mov ecx, edx
mov dword [esp + 0x4c], edx
and ecx, dword [esp + 0x40]
mov esi, eax
and esi, dword [esp + 0x3c]
or esi, ecx
mov esi, dword [esp + 0x30]
jne 0x4b2c5e
or dword [esp + 0x3c], eax
mov eax, dword [esp + 0x40]
or eax, dword [esp + 0x4c]
mov edx, dword [esi]
mov ecx, dword [edi + 4]
mov dword [esp + 0x40], eax
mov ax, word [esi + 0x18]
mov word [ecx + ebx*2], ax
test dword [edx + 4], 0x200
je 0x4b2c0f
mov esi, dword [edx + 0xc]
mov eax, dword [edx + 0x10]
jmp 0x4b2c15
mov esi, dword [edx + 0x10]
mov eax, dword [edx + 0xc]
test dword [eax + 4], 0x100
je 0x4b2c21
push eax
jmp 0x4b2c3d
test esi, esi
je 0x4b2c2e
test dword [esi + 4], 0x100
jne 0x4b2c3c
push eax
push ebp
call fcn.004f66b0
add esp, 8
test eax, eax
jne 0x4b2c4a
push esi
push ebp
call fcn.004f66b0
add esp, 8
test eax, eax
je 0x4b2c4e
mov ecx, dword [eax]
jmp 0x4b2c53
mov ecx, 0x5729b4
mov eax, dword [edi + 0x20]
mov esi, dword [esp + 0x30]
mov dword [eax + ebx*4], ecx
inc ebx
mov edx, dword [esp + 0x84]
add esi, 0x30
mov dword [esp + 0x30], esi
cmp esi, dword [esp + 0x44]
jb 0x4b2b10
mov edi, dword [esp + 0x28]
xor esi, esi
cmp dword [esp + 0x34], esi
jle 0x4b2cc9
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x34]
lea ebx, [ebx]
mov eax, 1
xor edx, edx
mov ecx, esi
call fcn.00415420
and eax, dword [esp + 0x20]
and edx, dword [esp + 0x18]
or eax, edx
je 0x4b2cbc
mov eax, dword [ebp + 4]
mov word [eax + ebx*2], si
mov eax, dword [ebp + 0x20]
mov dword [eax + ebx*4], 0x5729b4
inc ebx
inc esi
cmp esi, edi
jl 0x4b2c90
mov edi, dword [esp + 0x28]
mov ebp, dword [esp + 0x7c]
mov ecx, dword [esp + 0x84]
xor eax, eax
mov edx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x3c]
and ecx, 0x80000000
or eax, ecx
je 0x4b2d0f
mov esi, dword [esp + 0x38]
mov eax, 0x3f
cmp ax, word [esi + 0x22]
jge 0x4b2d0f
mov ecx, eax
mov eax, dword [edx + 4]
mov word [eax + ebx*2], cx
inc ecx
mov eax, dword [edx + 0x20]
mov dword [eax + ebx*4], 0x5729b4
inc ebx
movsx eax, word [esi + 0x22]
cmp ecx, eax
jl 0x4b2cf4
mov eax, dword [edx + 4]
or ecx, 0xffffffff
mov word [eax + ebx*2], cx
mov eax, dword [edx + 0x20]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x14]
inc edx
mov dword [eax + ebx*4], 0x5729b4
mov eax, dword [ebp + 0x28]
mov dword [ecx + 8], eax
inc dword [ebp + 0x28]
mov esi, dword [ecx + 8]
mov ecx, dword [edi + 0x74]
cmp dword [edi + 0x78], ecx
jg 0x4b2d54
push 0
push edx
push esi
push 0x73
push edi
call fcn.004ceed0
add esp, 0x14
jmp 0x4b2d83
lea eax, [ecx + 1]
mov dword [edi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x70]
mov edi, dword [esp + 0x28]
mov dword [eax + ecx*4], 0x73
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push dword [esp + 0x1c]
mov esi, dword [ebp + 8]
push ebp
call fcn.00506120
mov edx, eax
add esp, 8
test edx, edx
je 0x4b2dc1
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
je 0x4b2daf
push edx
push 0xfffffffffffffff7
push eax
call fcn.004bbca0
add esp, 0xc
jmp 0x4b2dc1
mov eax, dword [esi + 0x74]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x70]
mov byte [eax + ecx*4 - 0x13], 0xf7
mov dword [eax + ecx*4 - 4], edx
mov eax, dword [ebp]
test dword [eax + 0x50], 0x80000
jne 0x4b2e2a
mov edx, dword [ebp + 0x2c]
mov eax, dword [esp + 0x90]
inc edx
mov dword [ebp + 0x2c], edx
mov dword [eax + 0x34], edx
mov ecx, dword [edi + 0x74]
cmp dword [edi + 0x78], ecx
jg 0x4b2dfb
push 0
push edx
push 0x2710
push 0x4c
push edi
call fcn.004ceed0
add esp, 0x14
jmp 0x4b2e2a
lea eax, [ecx + 1]
mov dword [edi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4], 0x4c
mov dword [eax + ecx*4 + 4], 0x2710
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x90]
movzx eax, byte [edx + 0x38]
lea esi, [eax + eax*8]
mov eax, dword [esp + 0x80]
lea esi, [esi + 1]
mov eax, dword [eax]
mov eax, dword [eax + 4]
test byte [eax + esi*8 + 0x28], 0x10
lea esi, [eax + esi*8]
mov dword [esp + 0x4c], esi
je 0x4b2f4b
mov ecx, dword [edi + 0x74]
mov edx, dword [esi + 0x1c]
mov dword [esp + 0x84], edx
mov dword [esp + 0x48], ecx
cmp dword [edi + 0x78], ecx
jg 0x4b2e8d
push 0
push 0
push 0
push 0x47
push edi
call fcn.004ceed0
mov edx, dword [esp + 0x98]
add esp, 0x14
mov dword [esp + 0x48], eax
jmp 0x4b2ec4
mov ebp, dword [esp + 0x7c]
lea eax, [ecx + 1]
mov dword [edi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4], 0x47
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x74]
mov esi, dword [esi + 0x18]
cmp dword [edi + 0x78], ecx
jg 0x4b2ee7
push esi
push 0
push edx
push 0xd
push edi
call fcn.004ceed0
mov edx, dword [esp + 0x98]
add esp, 0x14
jmp 0x4b2f16
mov ebp, dword [esp + 0x7c]
lea eax, [ecx + 1]
mov dword [edi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4], 0xd
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [edi + 0x74]
cmp dword [edi + 0x78], esi
jg 0x4b2f32
push 0
push 0
push edx
push 0xe
push edi
call fcn.004ceed0
add esp, 0x14
mov esi, eax
jmp 0x4b2f9d
mov ebp, dword [esp + 0x7c]
lea eax, [esi + 1]
mov dword [edi + 0x74], eax
lea ecx, [esi + esi*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4], 0xe
jmp 0x4b2f81
mov esi, dword [edi + 0x74]
mov edx, dword [edx + 4]
cmp dword [edi + 0x78], esi
jg 0x4b2f6a
push 0
push 0
push edx
push 0x26
push edi
call fcn.004ceed0
add esp, 0x14
mov esi, eax
jmp 0x4b2f9d
lea eax, [esi + 1]
mov dword [edi + 0x74], eax
lea ecx, [esi + esi*4]
mov eax, dword [edi + 0x70]
mov edi, dword [esp + 0x28]
mov dword [eax + ecx*4], 0x26
mov dword [eax + ecx*4 + 0x10], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 4], edx
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4b2fc7
dec dword [ebp + 0x38]
mov ecx, dword [ebp + 0x38]
push 0x10
push ecx
push eax
push ebp
mov dword [esp + 0x60], ecx
call fcn.004f6f90
mov eax, dword [esp + 0x34]
add esp, 0x10
or dword [eax + 0x2c], 0x20000
mov al, byte [ebp + 0x13]
test al, al
jne 0x4b2fd6
inc dword [ebp + 0x2c]
mov eax, dword [ebp + 0x2c]
jmp 0x4b2fe5
dec al
mov byte [ebp + 0x13], al
movzx eax, al
mov eax, dword [ebp + eax*4 + 0x98]
push 0
push 0
push 0
push 0
push eax
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa4]
push dword [eax + 4]
push dword [esp + 0x34]
push ebp
call fcn.005023b0
mov ecx, eax
add esp, 0x20
mov eax, dword [esp + 0x90]
mov dword [esp + 0x80], ecx
mov eax, dword [eax + 0x34]
mov dword [esp + 0x44], eax
test eax, eax
je 0x4b30a6
mov edx, dword [esp + 0x24]
movzx edx, word [edx + 0x18]
mov dword [esp + 0x40], edx
mov edx, dword [edi + 0x74]
cmp dword [edi + 0x78], edx
jg 0x4b3051
push ecx
push 0
push eax
push 0xb2
push edi
call fcn.004ceed0
add esp, 0x14
mov edx, eax
jmp 0x4b308b
mov ebp, dword [esp + 0x44]
lea eax, [edx + 1]
mov dword [edi + 0x74], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4 + 4], ebp
mov ebp, dword [esp + 0x80]
mov dword [eax + ecx*4 + 0xc], ebp
mov ebp, dword [esp + 0x7c]
mov dword [eax + ecx*4], 0xb2
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
jne 0x4b30a6
mov eax, dword [edi + 0x70]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x40]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [esp + 0x90]
mov ecx, dword [edi + 0x74]
mov eax, dword [eax + 8]
mov dword [esp + 0x44], eax
cmp dword [edi + 0x78], ecx
jg 0x4b30d7
mov edx, dword [esp + 0x84]
push 0
push edx
push eax
push 0x89
push edi
call fcn.004ceed0
add esp, 0x14
jmp 0x4b310d
mov edx, dword [esp + 0x44]
lea eax, [ecx + 1]
mov dword [edi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x84]
mov dword [eax + ecx*4], 0x89
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi + 0x74]
test eax, eax
jle 0x4b3124
lea ecx, [eax + eax*4]
mov edx, 0x10
mov eax, dword [edi + 0x70]
mov word [eax + ecx*4 - 0x12], dx
cmp dword [esp + 0x2c], 0
je 0x4b3152
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x50]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4b3149
push edx
push edi
push ecx
call fcn.004e0f70
add esp, 0xc
jmp 0x4b3152
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x74]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x4c]
test byte [eax + 0x28], 0x10
je 0x4b3204
mov ecx, dword [esp + 0x48]
test ecx, ecx
jns 0x4b316c
mov ecx, dword [edi + 0x74]
dec ecx
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
je 0x4b317b
mov ecx, 0x6a4314
jmp 0x4b3184
mov eax, dword [edi + 0x70]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x80]
add eax, ebx
mov ebx, dword [esp + 0x4c]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x90]
push dword [eax + 8]
push dword [ebx + 0x20]
push dword [eax + 4]
push esi
push ebp
call fcn.00531c30
mov ecx, dword [edi + 0x74]
add esp, 0x14
cmp dword [edi + 0x78], ecx
jg 0x4b31cf
push 0
push esi
push 0
push 0xb
push edi
call fcn.004ceed0
add esp, 0x14
and dword [ebx + 0x28], 0xffffffef
jmp 0x4b326f
lea eax, [ecx + 1]
mov dword [edi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
and dword [ebx + 0x28], 0xffffffef
jmp 0x4b326f
mov eax, dword [esp + 0x90]
lea edx, [esi + 1]
mov ecx, dword [edi + 0x74]
mov ebx, dword [eax + 4]
cmp dword [edi + 0x78], ecx
jg 0x4b322a
push 0
push edx
push ebx
push 5
push edi
call fcn.004ceed0
add esp, 0x14
jmp 0x4b3259
mov ebp, dword [esp + 0x7c]
lea eax, [ecx + 1]
mov dword [edi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x70]
mov dword [eax + ecx*4], 5
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi + 0x74]
test eax, eax
jle 0x4b326f
mov edx, dword [esp + 0x54]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x70]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [edi + 0x74]
test esi, esi
jns 0x4b3279
lea esi, [edx - 1]
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
je 0x4b3288
mov eax, 0x6a4314
jmp 0x4b3291
mov eax, dword [edi + 0x70]
lea ecx, [esi + esi*4]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x84]
mov dword [eax + 8], edx
test ecx, ecx
je 0x4b32b3
mov al, byte [ebp + 0x13]
cmp al, 8
jae 0x4b32b3
movzx eax, al
mov dword [ebp + eax*4 + 0x98], ecx
inc byte [ebp + 0x13]
mov ecx, dword [esp + 0x58]
mov edx, dword [edi + 0x74]
test ecx, ecx
jns 0x4b32c1
lea ecx, [edx - 1]
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
je 0x4b32d3
mov eax, 0x6a4314
mov dword [eax + 8], edx
jmp 0x4b32e6
mov eax, dword [edi + 0x70]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
jmp 0x4b32e6
mov ebp, dword [esp + 0x7c]
mov eax, dword [esp + 0x2c]
pop esi
pop ebx
test eax, eax
je 0x4b32fc
push eax
push dword [ebp]
call fcn.004f6c70
add esp, 8
pop edi
pop ebp
add esp, 0x68
ret