Function at 0x4b46c0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x140
mov eax, dword [0x5c0290]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x18]
push ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x1c]
push esi
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x20]
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x128], ecx
mov dword [ebp - 0x140], eax
call fcn.004b5740
mov eax, dword [ebp - 0x128]
mov dword [eax], 0x5828f8
mov eax, dword [esi]
sub eax, 0x10
push eax
call fcn.004c2870
mov ecx, dword [ebp - 0x128]
add eax, 0x10
mov dword [ecx + 0x48], eax
mov eax, dword [edi]
sub eax, 0x10
push eax
call fcn.004c2870
mov edi, dword [ebp - 0x128]
add eax, 0x10
mov dword [edi + 0x4c], eax
mov eax, dword [ebx]
sub eax, 0x10
push eax
call fcn.004c2870
add eax, 0x10
mov dword [edi + 0x50], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.004c2870
add eax, 0x10
add esp, 0x10
mov dword [edi + 0x54], eax
lea eax, [edi + 0x58]
mov dword [ebp - 0x12c], eax
call fcn.00468bd0
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
je 0x4b545f
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi + 0x58], eax
call fcn.00468bd0
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
je 0x4b5469
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi + 0x5c], eax
call fcn.00468bd0
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
je 0x4b5473
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [edi + 0x60], eax
call fcn.00468bd0
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
je 0x4b547d
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
push dword [ebp - 0x18]
add eax, 0x10
lea ecx, [edi + 0x70]
mov dword [edi + 0x64], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
mov dword [edi + 0x68], eax
mov dword [edi + 0x6c], 0
call fcn.004497e0
mov ecx, dword [ebp - 0x140]
mov al, byte [ecx]
lea ecx, [edi + 0x180]
mov byte [edi + 0x80], al
lea eax, [edi + 0x88]
mov word [edi + 0x81], 0
mov dword [edi + 0x98], 0
mov dword [edi + 0xb0], 0
mov dword [edi + 0xc8], 0
mov dword [edi + 0xd4], 0
mov dword [edi + 0xdc], 0
mov dword [edi + 0xf0], 0
mov dword [ebp - 0x124], eax
mov word [edi + 0xfc], 0x100
mov dword [edi + 0x100], 0
mov dword [edi + 0x104], 0
mov dword [edi + 0x108], 0
call fcn.004b56a0
lea ecx, [edi + 0x1d0]
call fcn.004b2070
lea eax, [edi + 0x208]
push 2
push eax
call fcn.0053b13b
add esp, 8
test eax, eax
je 0x4b48ca
push eax
call fcn.0053b20c
add esp, 4
push dword [edi + 0x48]
lea ecx, [ebp - 0x1c]
call fcn.004aec30
push eax
lea ecx, [edi + 0x5c]
call fcn.004b7b50
mov edx, dword [ebp - 0x1c]
or eax, 0xffffffff
add edx, 0xfffffff0
lea ecx, [edx + 0xc]
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x4b48fb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
sub esp, 0xc
mov dword [ebp - 0x11c], 0x686b5446
mov ecx, esp
mov dword [ebp - 0x118], 0x7651434e
lea eax, [ebp - 0x21]
mov dword [ebp - 0x114], 0x2b775448
mov dword [ebp - 0x110], 0x304d794f
push dword [ebp - 0x124]
mov dword [ebp - 0x10c], 0x704a6d62
push eax
lea eax, [ebp - 0x11c]
mov dword [ebp - 0x108], 0x72516942
mov dword [ebp - 0x104], 0x2b456a4d
mov dword [ebp - 0x100], 0x6955444c
mov dword [ebp - 0xfc], 0x7974794a
mov dword [ebp - 0xf8], 0x324d794a
mov dword [ebp - 0xf4], 0x78634349
mov dword [ebp - 0xf0], 0x4f6b774e
mov dword [ebp - 0xec], 0x69513250
mov dword [ebp - 0xe8], 0x7a467847
mov dword [ebp - 0xe4], 0x6d385841
mov dword [ebp - 0xe0], 0x64676a47
mov dword [ebp - 0xdc], 0x6e305243
mov dword [ebp - 0xd8], 0x7a494159
mov dword [ebp - 0xd4], 0x72634263
mov dword [ebp - 0xd0], 0x364d5141
mov dword [ebp - 0xcc], 0x6a774266
mov dword [ebp - 0xc8], 0x5a38534d
mov dword [ebp - 0xc4], 0x67515444
mov dword [ebp - 0xc0], 0x50637946
mov dword [ebp - 0xbc], 0x4e41524f
mov dword [ebp - 0xb8], 0x3149784e
mov dword [ebp - 0xb4], 0x46594441
mov dword [ebp - 0xb0], 0x685a694e
mov dword [ebp - 0xac], 0x6a526a41
mov dword [ebp - 0xa8], 0x6e413241
mov dword [ebp - 0xa4], 0x6d39514e
mov dword [ebp - 0xa0], 0x766f584d
mov dword [ebp - 0x9c], 0x38637865
mov dword [ebp - 0x98], 0x51635461
mov dword [ebp - 0x94], 0x76387859
mov dword [ebp - 0x90], 0x39556963
mov dword [ebp - 0x8c], 0x5a635245
mov dword [ebp - 0x88], 0x6b647743
mov dword [ebp - 0x84], 0x6e426d66
mov dword [ebp - 0x80], 0x516b674e
mov dword [ebp - 0x7c], 0x5a6b7864
mov dword [ebp - 0x78], 0x65597949
mov dword [ebp - 0x74], 0x4f496a65
mov dword [ebp - 0x70], 0x3255334a
mov dword [ebp - 0x6c], 0x35596a46
mov dword [ebp - 0x68], 0x5330444c
mov dword [ebp - 0x64], 0x37396742
mov dword [ebp - 0x60], 0x3355574e
mov dword [ebp - 0x5c], 0x55457a43
mov dword [ebp - 0x58], 0x51774449
mov dword [ebp - 0x54], 0x4d415444
mov dword [ebp - 0x50], 0x34395241
mov dword [ebp - 0x4c], 0x72454344
mov dword [ebp - 0x48], 0x31494247
mov dword [ebp - 0x44], 0x6930794e
mov dword [ebp - 0x40], 0x796c6963
mov dword [ebp - 0x3c], 0x38457a41
mov dword [ebp - 0x38], 0x444d474b
mov dword [ebp - 0x34], 0x6b4d7a43
mov dword [ebp - 0x30], 0x7a384847
mov dword [ebp - 0x2c], 0x596f4148
mov dword [ebp - 0x28], 0x4141774a
mov word [ebp - 0x24], 0x4a41
mov byte [ebp - 0x22], 0x59
push eax
push 0
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
call fcn.004660a0
lea eax, [ebp - 0x13c]
push eax
call fcn.0047fb90
add esp, 0x10
mov esi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], esi
sub eax, esi
je 0x4b5487
xor eax, eax
xor edi, edi
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov dword [ebp - 0x10], eax
xor edx, edx
mov dword [ebp - 0xc], eax
xor ebx, ebx
lea eax, [esi + 1]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x120], eax
mov al, byte [esi]
inc esi
test al, al
jne 0x4b4ba4
sub esi, dword [ebp - 0x120]
je 0x4b4cb3
mov esi, dword [ebp - 0x18]
lea eax, [ebp - 5]
mov bl, byte [ebx + esi]
xor bl, 0x8b
mov byte [ebp - 5], bl
cmp eax, ecx
jae 0x4b4c2a
cmp edi, eax
ja 0x4b4c2a
mov ebx, eax
sub ebx, edi
cmp ecx, edx
jne 0x4b4c1f
mov eax, edx
sub eax, ecx
cmp eax, 1
jae 0x4b4c1f
mov eax, edi
sub eax, ecx
dec eax
cmp eax, 1
jb 0x4b549b
sub edx, edi
or eax, 0xffffffff
mov esi, edx
sub ecx, edi
shr esi, 1
inc ecx
sub eax, esi
cmp eax, edx
jae 0x4b4c03
xor edx, edx
jmp 0x4b4c05
add edx, esi
cmp edx, ecx
cmovb edx, ecx
lea ecx, [ebp - 0x14]
push edx
call fcn.0046ae20
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
test ecx, ecx
je 0x4b4c7d
mov al, byte [edi + ebx]
mov byte [ecx], al
jmp 0x4b4c7d
cmp ecx, edx
jne 0x4b4c77
mov eax, edx
sub eax, ecx
cmp eax, 1
jae 0x4b4c77
mov eax, edi
sub eax, ecx
dec eax
cmp eax, 1
jb 0x4b549b
sub edx, edi
or eax, 0xffffffff
mov esi, edx
sub ecx, edi
shr esi, 1
inc ecx
sub eax, esi
cmp eax, edx
jae 0x4b4c5b
xor edx, edx
jmp 0x4b4c5d
add edx, esi
cmp edx, ecx
cmovb edx, ecx
lea ecx, [ebp - 0x14]
push edx
call fcn.0046ae20
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
test ecx, ecx
je 0x4b4c7d
mov byte [ecx], bl
mov ebx, dword [ebp - 0x1c]
lea eax, [esi + 1]
inc ecx
mov dword [ebp - 0x120], eax
inc ebx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x1c], ebx
mov al, byte [esi]
inc esi
test al, al
jne 0x4b4c91
sub esi, dword [ebp - 0x120]
cmp ebx, esi
jb 0x4b4bb7
test edi, edi
je 0x4b4cb3
push edi
call fcn.0053c1e0
add esp, 4
mov eax, dword [ebp - 0x13c]
test eax, eax
je 0x4b4cc6
push eax
call fcn.0053c1e0
add esp, 4
mov ebx, dword [ebp - 0x12c]
lea eax, [ebp - 0x120]
push ebx
push eax
mov dword [ebp - 0x120], 0x65
call fcn.00482620
mov eax, dword [ebp - 0x128]
add esp, 8
mov ecx, ebx
mov eax, dword [eax + 0x48]
push dword [eax - 0xc]
push eax
call fcn.004be590
push dword [ebx]
lea ecx, [ebp - 0x20]
mov dword [ebp - 0xf0], 0x686b5446
mov dword [ebp - 0xec], 0x7651434e
mov dword [ebp - 0xe8], 0x2b775448
mov dword [ebp - 0xe4], 0x304d794f
mov dword [ebp - 0xe0], 0x704a6d62
mov dword [ebp - 0xdc], 0x31495346
mov dword [ebp - 0xd8], 0x7473414a
mov dword [ebp - 0xd4], 0x324e444e
mov dword [ebp - 0xd0], 0x6f705349
mov dword [ebp - 0xcc], 0x67346859
mov dword [ebp - 0xc8], 0x426b7a63
mov dword [ebp - 0xc4], 0x31566748
mov dword [ebp - 0xc0], 0x34467a4f
mov dword [ebp - 0xbc], 0x464d7a41
mov dword [ebp - 0xb8], 0x6f556850
mov dword [ebp - 0xb4], 0x70557963
mov dword [ebp - 0xb0], 0x6d674741
mov dword [ebp - 0xac], 0x4a497a41
mov dword [ebp - 0xa8], 0x57777966
mov dword [ebp - 0xa4], 0x4d55334f
mov dword [ebp - 0xa0], 0x77554361
mov dword [ebp - 0x9c], 0x7441794a
mov dword [ebp - 0x98], 0x4b4d6d48
mov dword [ebp - 0x94], 0x5367414b
mov dword [ebp - 0x90], 0x45777a46
mov dword [ebp - 0x8c], 0x664d5363
mov dword [ebp - 0x88], 0x3752784c
mov dword [ebp - 0x84], 0x30495343
mov dword [ebp - 0x80], 0x31597750
mov dword [ebp - 0x7c], 0x71514843
mov dword [ebp - 0x78], 0x4f306749
mov dword [ebp - 0x74], 0x72386961
mov dword [ebp - 0x70], 0x376b6745
mov dword [ebp - 0x6c], 0x4c6b4359
mov dword [ebp - 0x68], 0x4c633364
mov dword [ebp - 0x64], 0x71384244
mov dword [ebp - 0x60], 0x44386a63
mov dword [ebp - 0x5c], 0x2b6b4246
mov dword [ebp - 0x58], 0x67777747
mov dword [ebp - 0x54], 0x67773349
mov dword [ebp - 0x50], 0x47635464
mov dword [ebp - 0x4c], 0x6a6f6e61
mov dword [ebp - 0x48], 0x50307a49
mov dword [ebp - 0x44], 0x794a5241
mov dword [ebp - 0x40], 0x6577794f
mov dword [ebp - 0x3c], 0x536f4245
mov dword [ebp - 0x38], 0x44594243
mov dword [ebp - 0x34], 0x4f6f544b
mov dword [ebp - 0x30], 0x2f5a444c
mov dword [ebp - 0x2c], 0x4a675342
mov dword [ebp - 0x28], 0x41414141
mov word [ebp - 0x24], 0x6765
call fcn.004aec30
push eax
sub esp, 0xc
lea eax, [ebp - 0x22]
mov ecx, esp
push dword [ebp - 0x124]
mov dword [ecx], 0
push eax
lea eax, [ebp - 0xf0]
mov dword [ecx + 4], 0
push eax
push 0
mov dword [ecx + 8], 0
call fcn.004660a0
lea eax, [ebp - 0x13c]
push eax
call fcn.0047fb90
add esp, 0x10
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
jne 0x4b4f12
jmp 0x4b5491
push ecx
lea eax, [ebp - 0x120]
push eax
call fcn.004b8520
xor edi, edi
xor ecx, ecx
xor edx, edx
add esp, 0xc
mov esi, dword [eax]
xor eax, eax
mov dword [ebp - 0x14], eax
xor ebx, ebx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
lea eax, [esi + 1]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x12c], eax
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x4b4f50
sub esi, dword [ebp - 0x12c]
je 0x4b5062
mov esi, dword [ebp - 0x18]
lea eax, [ebp - 7]
mov bl, byte [ebx + esi]
xor bl, 0x8b
mov byte [ebp - 7], bl
cmp eax, ecx
jae 0x4b4fd6
cmp edi, eax
ja 0x4b4fd6
mov ebx, eax
sub ebx, edi
cmp ecx, edx
jne 0x4b4fcb
mov eax, edx
sub eax, ecx
cmp eax, 1
jae 0x4b4fcb
mov eax, edi
sub eax, ecx
dec eax
cmp eax, 1
jb 0x4b549b
sub edx, edi
or eax, 0xffffffff
mov esi, edx
sub ecx, edi
shr esi, 1
inc ecx
sub eax, esi
cmp eax, edx
jae 0x4b4faf
xor edx, edx
jmp 0x4b4fb1
add edx, esi
cmp edx, ecx
cmovb edx, ecx
lea ecx, [ebp - 0x14]
push edx
call fcn.0046ae20
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
test ecx, ecx
je 0x4b5029
mov al, byte [edi + ebx]
mov byte [ecx], al
jmp 0x4b5029
cmp ecx, edx
jne 0x4b5023
mov eax, edx
sub eax, ecx
cmp eax, 1
jae 0x4b5023
mov eax, edi
sub eax, ecx
dec eax
cmp eax, 1
jb 0x4b549b
sub edx, edi
or eax, 0xffffffff
mov esi, edx
sub ecx, edi
shr esi, 1
inc ecx
sub eax, esi
cmp eax, edx
jae 0x4b5007
xor edx, edx
jmp 0x4b5009
add edx, esi
cmp edx, ecx
cmovb edx, ecx
lea ecx, [ebp - 0x14]
push edx
call fcn.0046ae20
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
test ecx, ecx
je 0x4b5029
mov byte [ecx], bl
mov ebx, dword [ebp - 0x1c]
lea eax, [esi + 1]
inc ecx
mov dword [ebp - 0x12c], eax
inc ebx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x1c], ebx
lea ecx, [ecx]
mov al, byte [esi]
inc esi
test al, al
jne 0x4b5040
sub esi, dword [ebp - 0x12c]
cmp ebx, esi
jb 0x4b4f63
test edi, edi
je 0x4b5062
push edi
call fcn.0053c1e0
add esp, 4
mov edx, dword [ebp - 0x120]
or ecx, 0xffffffff
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b5082
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x13c]
test eax, eax
je 0x4b50b3
push eax
call fcn.0053c1e0
add esp, 4
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x134], 0
mov edx, dword [ebp - 0x20]
or ecx, 0xffffffff
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b50d0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
sub esp, 0xc
mov dword [ebp - 0xac], 0x686b5446
mov ecx, esp
mov dword [ebp - 0xa8], 0x7651434e
lea eax, [ebp - 0x24]
mov dword [ebp - 0xa4], 0x2b775448
mov dword [ebp - 0xa0], 0x304d794f
push dword [ebp - 0x124]
mov dword [ebp - 0x9c], 0x704a6d62
push eax
lea eax, [ebp - 0xac]
mov dword [ebp - 0x98], 0x78346946
mov dword [ebp - 0x94], 0x7356444e
mov dword [ebp - 0x90], 0x6b385448
mov dword [ebp - 0x8c], 0x6d6f544c
mov dword [ebp - 0x88], 0x7238544c
mov dword [ebp - 0x84], 0x305a4349
mov dword [ebp - 0x80], 0x7a49534e
mov dword [ebp - 0x7c], 0x674d6961
mov dword [ebp - 0x78], 0x7645534a
mov dword [ebp - 0x74], 0x66674249
mov dword [ebp - 0x70], 0x78676e4e
mov dword [ebp - 0x6c], 0x3951784b
mov dword [ebp - 0x68], 0x4349684b
mov dword [ebp - 0x64], 0x33343242
mov dword [ebp - 0x60], 0x33357a4d
mov dword [ebp - 0x5c], 0x66637942
mov dword [ebp - 0x58], 0x37634348
mov dword [ebp - 0x54], 0x476b5241
mov dword [ebp - 0x50], 0x6f555841
mov dword [ebp - 0x4c], 0x6b356865
mov dword [ebp - 0x48], 0x4d385443
mov dword [ebp - 0x44], 0x6a597846
mov dword [ebp - 0x40], 0x55554359
mov dword [ebp - 0x3c], 0x6e356766
mov dword [ebp - 0x38], 0x3378444d
mov dword [ebp - 0x34], 0x744e4364
mov dword [ebp - 0x30], 0x6e4d434f
mov dword [ebp - 0x2c], 0x41595148
mov dword [ebp - 0x28], 0x33414141
push eax
push 0
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
call fcn.004660a0
lea eax, [ebp - 0x13c]
push eax
call fcn.0047fb90
add esp, 0x10
mov esi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], esi
sub eax, esi
je 0x4b54a5
xor eax, eax
lea ecx, [esi + 1]
xor edi, edi
mov dword [ebp - 0x14], eax
xor edx, edx
mov dword [ebp - 0x10], eax
xor ebx, ebx
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], ecx
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x4b5252
sub esi, dword [ebp - 0x20]
je 0x4b535f
mov esi, dword [ebp - 0x18]
lea ecx, [ebp - 6]
mov bl, byte [esi + ebx]
xor bl, 0x8b
mov byte [ebp - 6], bl
cmp ecx, eax
jae 0x4b52d5
cmp edi, ecx
ja 0x4b52d5
mov ebx, ecx
sub ebx, edi
cmp eax, edx
jne 0x4b52ca
mov ecx, edx
sub ecx, eax
cmp ecx, 1
jae 0x4b52ca
mov ecx, edi
sub ecx, eax
dec ecx
cmp ecx, 1
jb 0x4b549b
sub edx, edi
or ecx, 0xffffffff
mov esi, edx
sub eax, edi
shr esi, 1
inc eax
sub ecx, esi
cmp ecx, edx
jae 0x4b52ae
xor edx, edx
jmp 0x4b52b0
add edx, esi
cmp edx, eax
lea ecx, [ebp - 0x14]
cmovb edx, eax
push edx
call fcn.0046ae20
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
test eax, eax
je 0x4b5328
mov cl, byte [edi + ebx]
mov byte [eax], cl
jmp 0x4b5328
cmp eax, edx
jne 0x4b5322
mov ecx, edx
sub ecx, eax
cmp ecx, 1
jae 0x4b5322
mov ecx, edi
sub ecx, eax
dec ecx
cmp ecx, 1
jb 0x4b549b
sub edx, edi
or ecx, 0xffffffff
mov esi, edx
sub eax, edi
shr esi, 1
inc eax
sub ecx, esi
cmp ecx, edx
jae 0x4b5306
xor edx, edx
jmp 0x4b5308
add edx, esi
cmp edx, eax
lea ecx, [ebp - 0x14]
cmovb edx, eax
push edx
call fcn.0046ae20
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
test eax, eax
je 0x4b5328
mov byte [eax], bl
mov ebx, dword [ebp - 0x1c]
lea ecx, [esi + 1]
inc eax
mov dword [ebp - 0x20], ecx
inc ebx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], ebx
lea esp, [esp]
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x4b5340
sub esi, dword [ebp - 0x20]
cmp ebx, esi
jb 0x4b5262
test edi, edi
je 0x4b535f
push edi
call fcn.0053c1e0
add esp, 4
mov eax, dword [ebp - 0x13c]
test eax, eax
je 0x4b5372
push eax
call fcn.0053c1e0
add esp, 4
mov esi, dword [ebp - 0x124]
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x4b5394
mov edx, dword [ecx]
cmp ecx, esi
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [esi + 0x10], 0
push 0x14
call fcn.0053c207
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4b54af
mov al, byte [ebp - 0x138]
mov ebx, dword [ebp - 0x128]
mov dword [ecx], 0x582be4
mov dword [ecx + 4], 0x4ee710
mov byte [ecx + 8], al
lea eax, [ebp - 0x13c]
mov dword [ecx + 0xc], ebx
mov dword [esi + 0x10], ecx
lea ecx, [ebx + 0xa0]
push eax
mov dword [ebp - 0x13c], 0x4ee2f0
mov dword [ebp - 0x134], ebx
call fcn.004ac9d0
push dword [ebp - 0x140]
lea eax, [ebp - 0x124]
mov dword [ebp - 0x124], ebx
push 0x5c42f8
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x4e2b80
push eax
lea ecx, [ebp - 0x130]
call fcn.004ac940
cmp dword [ebx + 0xd4], 0
mov ecx, eax
jne 0x4b54b4
mov eax, dword [ecx]
mov dword [ebx + 0xd0], eax
mov eax, dword [ecx + 4]
mov dword [ebx + 0xd4], eax
mov dword [ecx + 4], 0
cmp dword [ebp - 0x12c], 0
jne 0x4b54b9
mov ecx, dword [ebp - 4]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0053d3a0
mov esp, ebp
pop ebp
ret 0x1c
push 0x80004005
call fcn.00468960
push 0x80004005
call fcn.00468960
push 0x80004005
call fcn.00468960
push 0x80004005
call fcn.00468960
push str.invalid_vector_T__subscript
call fcn.0053af06
push str.invalid_vector_T__subscript
call fcn.0053af06
push str.vector_T__too_long
call fcn.0053aed8
push str.invalid_vector_T__subscript
call fcn.0053af06
call fcn.0053ae83
call fcn.005406d0
call fcn.005406d0
int3