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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x38
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
xor edi, edi
test byte [ebx + 0x18], 1
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x2c], edi
je 0x4fd387
mov edx, dword [ebx + 0x10]
mov esi, dword [ebx + 0x14]
xor eax, eax
cmp edx, edi
jbe 0x4fd383
mov ecx, dword [esi + eax*4]
mov dword [ecx + 0x10], eax
inc eax
cmp eax, edx
jb 0x4fd378
and dword [ebx + 0x18], 0xfffffffe
mov edx, dword [ebx + 4]
mov dword [ebp - 8], edi
cmp edx, edi
jbe 0x4fd398
mov eax, dword [ebx + 0x28]
mov eax, dword [eax]
jmp 0x4fd39a
xor eax, eax
xor ecx, ecx
cmp edx, edi
jbe 0x4fd3c6
mov esi, 0xfffffeff
mov edx, dword [eax + 0xc]
and dword [eax + 8], esi
mov dword [eax + 0xc], edx
mov edx, dword [ebx + 4]
inc ecx
cmp ecx, edx
jb 0x4fd3bc
xor eax, eax
mov ecx, edx
jmp 0x4fd3c2
mov eax, dword [ebx + 0x28]
mov eax, dword [eax + ecx*4]
cmp ecx, edx
jb 0x4fd3a5
mov edx, dword [ebx + 8]
cmp edx, edi
jbe 0x4fd3d4
mov ecx, dword [ebx + 0x30]
mov eax, dword [ecx]
jmp 0x4fd3d6
xor eax, eax
xor ecx, ecx
cmp edx, edi
jbe 0x4fd41f
lea esi, [ecx - 0x11]
nop
or edx, 0xffffffff
mov dword [eax + 0x4c], edx
mov dword [eax + 0x50], edi
mov dword [eax + 0x54], edx
mov dword [eax + 0x58], edi
and dword [eax + 0xc], 0xfffffffb
mov edx, dword [eax + 8]
and dword [eax + 0xc], 0xfffffff7
and dword [eax + 0xc], esi
mov dword [eax + 8], edx
mov dword [eax + 0x5c], edi
mov byte [eax + 0x2c], 0
mov edx, dword [ebx + 8]
inc ecx
cmp ecx, edx
jb 0x4fd415
xor eax, eax
mov ecx, edx
jmp 0x4fd41b
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + ecx*4]
cmp ecx, edx
jb 0x4fd3e0
mov ecx, dword [ebx + 0xc]
cmp ecx, edi
jbe 0x4fd42d
mov edx, dword [ebx + 0x38]
mov eax, dword [edx]
jmp 0x4fd42f
xor eax, eax
mov dword [ebp - 0x1c], edi
cmp ecx, edi
jbe 0x4fd54b
lea ebx, [ebx]
mov edi, dword [eax + 0x10]
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 8]
mov dword [ebp - 0x24], ecx
mov ecx, edx
and ecx, 0x100010
xor esi, esi
cmp ecx, 0x10
jne 0x4fd484
test esi, esi
jne 0x4fd484
and edx, 0x80000000
xor ecx, ecx
or edx, ecx
je 0x4fd475
mov edx, dword [ebp - 0x24]
and edx, 2
or ecx, edx
je 0x4fd484
mov edx, dword [eax + 8]
or dword [eax + 0xc], 0x400000
mov dword [eax + 8], edx
jmp 0x4fd491
mov ecx, dword [eax + 8]
and dword [eax + 0xc], 0xffbfffff
mov dword [eax + 8], ecx
or esi, 0xffffffff
cmp dword [eax + 0x44], esi
je 0x4fd49d
mov byte [edi + 0x2c], 1
xor ecx, ecx
mov dword [eax + 0x78], ecx
mov dword [eax + 0x7c], ecx
mov dword [eax + 0x6c], ecx
mov dword [eax + 0x74], esi
mov dword [eax + 0x64], esi
mov dword [eax + 0x68], esi
mov dword [eax + 0x70], esi
mov dword [eax + 0x40], eax
mov ecx, dword [edi + 8]
and ecx, 8
xor edx, edx
xor edi, edi
or ecx, edx
je 0x4fd525
mov dword [ebp - 0xc], edi
fld dword [ebp - 0xc]
mov dword [eax + 0xb8], esi
fst qword [eax + 0xa8]
mov dword [eax + 0xbc], esi
fst qword [eax + 0xc0]
mov dword [eax + 0xb0], edi
fstp qword [eax + 0xc8]
mov dword [eax + 0xb4], edi
mov dword [eax + 0xd0], edi
mov dword [eax + 0xd4], edi
mov dword [eax + 0xd8], edi
mov dword [eax + 0xdc], edi
mov dword [eax + 0xe0], edi
mov dword [eax + 0xe4], edi
mov dword [eax + 0xe8], edi
mov dword [eax + 0xec], edi
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebx + 0xc]
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, edx
jb 0x4fd53c
mov ecx, edx
xor eax, eax
mov dword [ebp - 0x1c], ecx
jmp 0x4fd542
mov edx, dword [ebx + 0x38]
mov eax, dword [edx + ecx*4]
cmp ecx, dword [ebx + 0xc]
jb 0x4fd440
test byte [ebx + 0x3734], 4
je 0x4fd731
mov ecx, dword [ebx + 8]
xor esi, esi
cmp ecx, esi
jbe 0x4fd568
mov eax, dword [ebx + 0x30]
mov edx, dword [eax]
jmp 0x4fd56a
xor edx, edx
xor eax, eax
cmp ecx, esi
jbe 0x4fd58c
mov dword [edx + 0x1c], esi
mov ecx, dword [ebx + 8]
inc eax
cmp eax, ecx
jb 0x4fd581
xor edx, edx
mov eax, ecx
jmp 0x4fd587
mov ecx, dword [ebx + 0x30]
mov edx, dword [ecx + eax*4]
cmp eax, dword [ebx + 8]
jb 0x4fd570
or edi, 0xffffffff
inc edi
cmp edi, dword [ebx + 8]
jae 0x4fd611
mov edx, dword [ebx + 0x30]
mov edx, dword [edx + edi*4]
cmp dword [edx + 0x24], 0
je 0x4fd58f
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x24], eax
mov eax, ecx
and eax, 2
xor esi, esi
or eax, esi
je 0x4fd58f
and ecx, 0x40
xor eax, eax
or ecx, eax
jne 0x4fd58f
mov edx, dword [edx + 0x24]
mov esi, dword [edx + 0x14]
mov eax, dword [edx + 0x10]
mov edx, dword [edx + 0x28]
lea ecx, [edx + 1]
cmp dword [eax + 0x1c], ecx
jae 0x4fd5d5
mov dword [eax + 0x1c], ecx
test esi, esi
je 0x4fd5e0
mov edx, esi
mov esi, dword [esi + 0x14]
jmp 0x4fd5c4
inc edi
cmp edi, dword [ebx + 8]
jae 0x4fd611
mov ecx, dword [ebx + 0x30]
mov edx, dword [ecx + edi*4]
cmp dword [edx + 0x24], 0
je 0x4fd5e0
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x24], eax
mov eax, ecx
and eax, 2
xor esi, esi
or eax, esi
je 0x4fd5e0
and ecx, 0x40
xor eax, eax
or ecx, eax
jne 0x4fd5e0
jmp 0x4fd5be
mov edx, dword [ebx + 8]
xor esi, esi
test edx, edx
jbe 0x4fd621
mov ecx, dword [ebx + 0x30]
mov ecx, dword [ecx]
jmp 0x4fd623
xor ecx, ecx
xor eax, eax
test edx, edx
jbe 0x4fd643
mov edi, edx
add esi, dword [ecx + 0x1c]
inc eax
cmp eax, edx
jb 0x4fd639
xor ecx, ecx
mov eax, edx
jmp 0x4fd63f
mov ecx, dword [ebx + 0x30]
mov ecx, dword [ecx + eax*4]
cmp eax, edi
jb 0x4fd62b
lea edx, [esi*4]
mov dword [ebp - 0xc], edx
cmp edx, 0x3ffffffd
jbe 0x4fd65c
mov eax, 0x80070216
jmp 0x4fd6c9
lea eax, [edx*4]
test eax, eax
jne 0x4fd66c
mov eax, 4
add ebx, 0x3768
mov dword [ebp - 0x2c], eax
mov esi, eax
test eax, eax
ja 0x4fd680
mov esi, 1
mov eax, dword [ebx]
test eax, eax
je 0x4fd690
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 8]
cmp esi, ecx
jbe 0x4fd6a4
mov ecx, esi
mov edi, ebx
call fcn.0047fc20
mov edx, dword [ebp - 0xc]
test eax, eax
je 0x4fd6a4
xor eax, eax
jmp 0x4fd6b8
mov ecx, dword [ebx]
test ecx, ecx
je 0x4fd6b3
mov eax, dword [ecx + 8]
lea eax, [eax + ecx + 0x10]
jmp 0x4fd6b5
xor eax, eax
add dword [ecx + 8], esi
mov dword [ebp - 0x38], eax
neg eax
sbb eax, eax
and eax, 0x7ff8fff2
add eax, 0x8007000e
mov dword [ebp - 8], eax
test eax, eax
jl 0x4fde68
test edx, edx
jbe 0x4fd6e2
mov edi, dword [ebp - 0x38]
mov ecx, edx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 8]
xor esi, esi
test ecx, ecx
jbe 0x4fd6f5
mov edx, dword [ebx + 0x30]
mov edx, dword [edx]
jmp 0x4fd6f7
xor edx, edx
xor eax, eax
test ecx, ecx
jbe 0x4fd731
lea ecx, [ecx]
mov edi, dword [edx + 0x1c]
test edi, edi
je 0x4fd711
mov ecx, esi
shl ecx, 4
add ecx, dword [ebp - 0x38]
jmp 0x4fd713
xor ecx, ecx
mov dword [edx + 0x5c], ecx
mov ecx, dword [ebx + 8]
inc eax
add esi, edi
cmp eax, ecx
jb 0x4fd726
xor edx, edx
mov eax, ecx
jmp 0x4fd72c
mov ecx, dword [ebx + 0x30]
mov edx, dword [ecx + eax*4]
cmp eax, dword [ebx + 8]
jb 0x4fd700
mov eax, dword [ebx + 0x10]
test eax, eax
jbe 0x4fd73f
mov edx, dword [ebx + 0x14]
mov esi, dword [edx]
jmp 0x4fd741
xor esi, esi
mov dword [ebp - 0x1c], 0
test eax, eax
jbe 0x4fd7ad
lea esp, [esp]
test esi, esi
je 0x4fd78c
test dword [esi + 0x3c], 0xfff00000
je 0x4fd78c
cmp dword [esi + 8], 0
mov dword [ebp - 0xc], 0
jbe 0x4fd78c
lea ebx, [ebx]
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0xc]
mov edi, dword [eax + ecx*4]
push esi
push ebx
call fcn.004fd020
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [esi + 8]
jb 0x4fd770
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebx + 0x10]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jb 0x4fd7a3
mov eax, ecx
xor esi, esi
mov dword [ebp - 0x1c], eax
jmp 0x4fd7a9
mov edx, dword [ebx + 0x14]
mov esi, dword [edx + eax*4]
cmp eax, ecx
jb 0x4fd750
mov eax, dword [ebx + 0x10]
test eax, eax
jbe 0x4fd7bb
mov ecx, dword [ebx + 0x14]
mov esi, dword [ecx]
jmp 0x4fd7bd
xor esi, esi
mov dword [ebp - 0x24], 0
test eax, eax
jbe 0x4fdce2
lea esp, [esp]
test esi, esi
je 0x4fdcb9
mov edi, dword [esi + 0x3c]
mov eax, edi
and eax, 0xfff00000
je 0x4fdcb9
cmp eax, 0x24200000
je 0x4fd8f7
cmp eax, 0x11d00000
je 0x4fd8f7
cmp eax, 0x20700000
jne 0x4fd8b1
and edi, 0xfffff
mov dword [ebp - 0x14], edi
mov ebx, 0
jbe 0x4fd8f7
lea edx, [edi*4]
mov dword [ebp - 0xc], edx
mov ecx, dword [esi + 4]
mov edx, dword [ebp - 0xc]
mov eax, dword [ecx + ebx*4]
mov ecx, dword [ecx + edx]
mov edx, dword [eax + 0x30]
cmp edx, 0xffffffff
je 0x4fd854
mov edx, dword [edx + 0xe0]
cmp dword [eax + 0x78], edx
jae 0x4fd849
mov dword [eax + 0x78], edx
mov edx, dword [esi + 0x10]
cmp dword [eax + 0x74], edx
jbe 0x4fd854
mov dword [eax + 0x74], edx
mov edx, dword [ecx + 0x30]
cmp edx, 0xffffffff
je 0x4fd875
mov edx, dword [edx + 0xe4]
cmp dword [ecx + 0x78], edx
jae 0x4fd86a
mov dword [ecx + 0x78], edx
mov edx, dword [esi + 0x10]
cmp dword [ecx + 0x74], edx
jbe 0x4fd875
mov dword [ecx + 0x74], edx
mov edx, dword [eax + 0x80]
test edx, edx
je 0x4fd885
mov edi, dword [eax + 0x7c]
mov dword [edx + edi*4], esi
mov edx, dword [ecx + 0x80]
test edx, edx
je 0x4fd895
mov edi, dword [ecx + 0x7c]
mov dword [edx + edi*4], esi
add dword [ebp - 0xc], 4
mov edx, 1
add dword [eax + 0x7c], edx
add dword [ecx + 0x7c], edx
add ebx, edx
cmp ebx, dword [ebp - 0x14]
jb 0x4fd827
jmp 0x4fd8f7
cmp eax, 0x50700000
ja 0x4fd94f
je 0x4fd95a
cmp eax, 0x50400000
je 0x4fd95a
cmp eax, 0x50500000
je 0x4fd95a
xor edi, edi
cmp dword [esi], edi
jbe 0x4fd8f7
mov ebx, dword [ebp + 8]
mov edx, dword [esi + 4]
mov eax, dword [edx + edi*4]
push esi
push 0
push eax
mov ecx, ebx
call fcn.004fcf40
inc edi
cmp edi, dword [esi]
jb 0x4fd8e1
xor ebx, ebx
cmp dword [esi + 8], ebx
jbe 0x4fd916
mov edi, edi
mov ecx, dword [esi + 0xc]
mov edx, dword [ebp + 8]
mov edi, dword [ecx + ebx*4]
push esi
push edx
call fcn.004fd020
inc ebx
cmp ebx, dword [esi + 8]
jb 0x4fd900
mov eax, dword [ebp + 8]
test byte [eax + 0x3734], 0x10
jne 0x4fdc46
mov ecx, dword [esi + 0x3c]
mov eax, ecx
and eax, 0xfff00000
cmp eax, 0x50700000
ja 0x4fd982
je 0x4fdb72
cmp eax, 0x50400000
je 0x4fdb72
cmp eax, 0x50500000
jmp 0x4fd987
cmp eax, 0x50800000
jne 0x4fd8d8
and edi, 0xfffff
cmp edi, dword [esi]
jae 0x4fd8f7
mov ebx, dword [ebp + 8]
mov eax, dword [esi + 4]
mov ecx, dword [eax + edi*4]
push esi
push 0
push ecx
mov ecx, ebx
call fcn.004fcf40
inc edi
cmp edi, dword [esi]
jb 0x4fd967
jmp 0x4fd8f7
cmp eax, 0x50800000
je 0x4fdb72
cmp eax, 0x80000000
je 0x4fdb72
and ecx, 0xf0000000
cmp ecx, 0x10000000
jb 0x4fdaba
cmp ecx, 0x40000000
ja 0x4fdaba
cmp dword [esi + 8], 0
mov dword [ebp - 0xc], 0
jbe 0x4fdc46
jmp 0x4fd9d0
mov ecx, dword [esi + 0x3c]
mov edx, ecx
and edx, 0xfff00000
cmp edx, 0x50900000
je 0x4fdc46
mov edi, dword [ebp - 0xc]
mov eax, dword [esi + 0xc]
add edi, edi
add edi, edi
mov edx, dword [edi + eax]
mov eax, ecx
and eax, 0xfff00000
mov dword [ebp - 0x1c], edx
cmp eax, 0x11d00000
je 0x4fdaa5
mov eax, dword [esi]
and ecx, 0xfffff
xor edx, edx
div ecx
mov byte [ebp - 1], 1
test eax, eax
jbe 0x4fda95
mov ebx, dword [esi + 4]
add ecx, ecx
add ecx, ecx
add ebx, edi
mov dword [ebp - 0x14], ecx
mov edi, eax
jmp 0x4fda30
mov eax, dword [ebx]
cmp eax, 0xffffffff
je 0x4fda46
mov ecx, dword [eax + 0x44]
cmp ecx, 0xffffffff
je 0x4fda46
mov eax, ecx
cmp eax, 0xffffffff
jne 0x4fda37
mov edx, dword [eax + 0xc]
and edx, 0x400000
xor ecx, ecx
or ecx, edx
je 0x4fda83
mov ecx, dword [eax + 0x24]
cmp ecx, 0xffffffff
je 0x4fda6c
mov edx, dword [ecx + 0xc]
and edx, 0x400000
xor ecx, ecx
or ecx, edx
je 0x4fda83
mov eax, dword [eax + 0x20]
cmp eax, 0xffffffff
je 0x4fda87
mov ecx, dword [eax + 0xc]
and ecx, 0x400000
xor eax, eax
or eax, ecx
jne 0x4fda87
mov byte [ebp - 1], 0
add ebx, dword [ebp - 0x14]
sub edi, 1
jne 0x4fda30
cmp byte [ebp - 1], 0
je 0x4fdaa5
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 8]
or dword [eax + 0xc], 0x400000
mov dword [eax + 8], edx
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [esi + 8]
jb 0x4fd9d0
jmp 0x4fdc46
mov dl, 1
xor ecx, ecx
mov byte [ebp - 1], dl
cmp eax, 0x90100000
je 0x4fdacf
cmp eax, 0x90000000
jne 0x4fdad1
mov ecx, dword [esi]
mov eax, dword [esi]
cmp ecx, eax
jae 0x4fdb43
mov edx, dword [esi + 4]
sub eax, ecx
lea edi, [edx + ecx*4]
mov ebx, eax
mov eax, dword [edi]
cmp eax, 0xffffffff
je 0x4fdaf7
mov ecx, dword [eax + 0x44]
cmp ecx, 0xffffffff
je 0x4fdaf7
mov eax, ecx
cmp eax, 0xffffffff
jne 0x4fdae8
mov edx, dword [eax + 0xc]
and edx, 0x400000
xor ecx, ecx
or ecx, edx
je 0x4fdb34
mov ecx, dword [eax + 0x24]
cmp ecx, 0xffffffff
je 0x4fdb1d
mov edx, dword [ecx + 0xc]
and edx, 0x400000
xor ecx, ecx
or ecx, edx
je 0x4fdb34
mov eax, dword [eax + 0x20]
cmp eax, 0xffffffff
je 0x4fdb38
mov ecx, dword [eax + 0xc]
and ecx, 0x400000
xor eax, eax
or eax, ecx
jne 0x4fdb38
mov byte [ebp - 1], 0
add edi, 4
sub ebx, 1
jne 0x4fdae1
mov dl, byte [ebp - 1]
xor ecx, ecx
cmp dword [esi + 8], ecx
jbe 0x4fdc46
mov edi, edi
mov eax, dword [esi + 0xc]
mov eax, dword [eax + ecx*4]
test dl, dl
je 0x4fdb67
mov edi, dword [eax + 8]
or dword [eax + 0xc], 0x400000
mov dword [eax + 8], edi
inc ecx
cmp ecx, dword [esi + 8]
jb 0x4fdb50
jmp 0x4fdc46
and ecx, 0xfffff
mov edx, 0
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0xc], edx
jbe 0x4fdc34
mov edi, dword [esi + 4]
mov ecx, dword [edi + edx*4]
cmp ecx, 0xffffffff
je 0x4fdba3
mov eax, dword [ecx + 0x44]
cmp eax, 0xffffffff
je 0x4fdba3
mov ecx, eax
cmp ecx, 0xffffffff
jne 0x4fdb94
mov eax, dword [esi + 0x3c]
and eax, 0xfffff
add eax, edx
mov eax, dword [edi + eax*4]
cmp eax, 0xffffffff
je 0x4fdbc4
mov edx, dword [eax + 0x44]
cmp edx, 0xffffffff
je 0x4fdbc4
mov eax, edx
cmp eax, 0xffffffff
jne 0x4fdbb5
mov edi, dword [eax + 0xc]
and edi, 0x400000
xor edx, edx
or edx, edi
je 0x4fdc0a
mov edx, dword [eax + 0x24]
cmp edx, 0xffffffff
je 0x4fdbea
mov edi, dword [edx + 0xc]
and edi, 0x400000
xor edx, edx
or edx, edi
je 0x4fdc0a
mov eax, dword [eax + 0x20]
cmp eax, 0xffffffff
je 0x4fdc01
mov edx, dword [eax + 0xc]
and edx, 0x400000
xor eax, eax
or eax, edx
je 0x4fdc0a
xor eax, eax
mov edx, 0x400000
jmp 0x4fdc0e
xor eax, eax
xor edx, edx
mov ebx, dword [ecx + 0xc]
mov edi, dword [ecx + 8]
and ebx, 0xffbfffff
or ebx, edx
mov edx, dword [ebp - 0xc]
inc edx
or edi, eax
mov dword [ecx + 8], edi
mov dword [ecx + 0xc], ebx
mov dword [ebp - 0xc], edx
cmp edx, dword [ebp - 0x1c]
jb 0x4fdb89
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
or dword [eax + 0xc], 0x400000
mov dword [eax + 8], edx
mov eax, dword [esi + 0x3c]
and eax, 0xfff00000
cmp eax, 0x10000000
jne 0x4fdcb9
mov ecx, dword [ebp + 8]
test byte [ecx + 0x372c], 4
jne 0x4fdcb9
xor edx, edx
cmp dword [esi + 8], edx
jbe 0x4fdcb9
jmp 0x4fdc70
mov eax, dword [esi + 0xc]
mov edi, dword [eax + edx*4]
mov ecx, dword [esi + 4]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x1c], eax
mov eax, dword [edi + 0x10]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x14], eax
mov eax, ecx
and eax, 0x1020
xor ebx, ebx
or eax, ebx
jne 0x4fdcb3
and ecx, 1
or ecx, eax
je 0x4fdcb3
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x48], ebx
jne 0x4fdcb3
mov ebx, dword [eax + 0x40]
mov ecx, dword [edi + 0x40]
mov dword [edi + 0x40], ebx
mov dword [eax + 0x40], ecx
inc edx
cmp edx, dword [esi + 8]
jb 0x4fdc70
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x10]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, ecx
jb 0x4fdcd3
mov eax, ecx
xor esi, esi
mov dword [ebp - 0x24], eax
jmp 0x4fdcd9
mov ecx, dword [edx + 0x14]
mov esi, dword [ecx + eax*4]
cmp eax, dword [edx + 0x10]
jb 0x4fd7d0
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 8]
test eax, eax
jbe 0x4fdcf3
mov edx, dword [ebx + 0x30]
mov ecx, dword [edx]
jmp 0x4fdcf5
xor ecx, ecx
xor edi, edi
test eax, eax
jbe 0x4fdd6d
jmp 0x4fdd00
mov eax, dword [ecx + 8]
mov dword [ebp - 0x28], eax
mov eax, dword [ecx + 0xc]
mov esi, eax
and esi, 8
xor edx, edx
or edx, esi
jne 0x4fdd1b
and eax, 0x10
or edx, eax
je 0x4fdd55
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x4fdd55
mov edx, dword [ecx + 0x4c]
cmp dword [eax + 0x74], edx
jbe 0x4fdd2d
mov dword [eax + 0x74], edx
mov edx, dword [ecx + 0x50]
cmp dword [eax + 0x78], edx
jae 0x4fdd38
mov dword [eax + 0x78], edx
mov edx, dword [ecx + 0x54]
cmp dword [eax + 0x74], edx
jbe 0x4fdd43
mov dword [eax + 0x74], edx
mov edx, dword [ecx + 0x58]
cmp dword [eax + 0x78], edx
jae 0x4fdd4e
mov dword [eax + 0x78], edx
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x4fdd22
mov eax, dword [ebx + 8]
inc edi
cmp edi, eax
jb 0x4fdd63
xor ecx, ecx
mov edi, eax
jmp 0x4fdd69
mov ecx, dword [ebx + 0x30]
mov ecx, dword [ecx + edi*4]
cmp edi, eax
jb 0x4fdd00
mov eax, dword [ebx + 8]
test eax, eax
jbe 0x4fdd7b
mov edx, dword [ebx + 0x30]
mov edi, dword [edx]
jmp 0x4fdd7d
xor edi, edi
xor ebx, ebx
test eax, eax
jbe 0x4fddc4
cmp dword [edi + 0x60], 0xffffffff
je 0x4fdda9
mov esi, dword [edi + 0x24]
test esi, esi
je 0x4fdda9
mov eax, dword [esi + 0x74]
mov ecx, dword [edi + 0x60]
push 0
push eax
push ecx
mov ecx, dword [ebp + 8]
call fcn.004fcf40
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x4fdd90
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 8]
inc ebx
cmp ebx, eax
jb 0x4fddba
xor edi, edi
mov ebx, eax
jmp 0x4fddc0
mov edx, dword [ecx + 0x30]
mov edi, dword [edx + ebx*4]
cmp ebx, eax
jb 0x4fdd83
mov eax, dword [ebp + 8]
test byte [eax + 0x3734], 4
je 0x4fde56
mov ecx, eax
mov eax, dword [ecx + 8]
test eax, eax
jbe 0x4fdde4
mov ecx, dword [ecx + 0x30]
mov ecx, dword [ecx]
jmp 0x4fdde6
xor ecx, ecx
xor esi, esi
test eax, eax
jbe 0x4fde56
lea esp, [esp]
mov eax, dword [ecx + 8]
and eax, 2
xor edx, edx
or eax, edx
je 0x4fde3a
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x4fde3a
mov ecx, dword [eax + 0x6c]
test ecx, ecx
je 0x4fde1b
mov edx, dword [ecx + 0x78]
mov dword [eax + 0x6c], edx
mov ecx, dword [ecx + 0x68]
cmp edx, ecx
ja 0x4fde1b
inc ecx
mov dword [eax + 0x6c], ecx
mov ecx, dword [eax + 0x70]
cmp ecx, 0xffffffff
je 0x4fde33
mov edx, dword [ecx + 0x74]
mov dword [eax + 0x70], edx
mov ecx, dword [ecx + 0x68]
cmp edx, ecx
jbe 0x4fde33
mov dword [eax + 0x70], ecx
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x4fde03
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
inc esi
cmp esi, eax
jb 0x4fde4b
xor ecx, ecx
mov esi, eax
jmp 0x4fde51
mov eax, dword [edx + 0x30]
mov ecx, dword [eax + esi*4]
cmp esi, dword [edx + 8]
jb 0x4fddf0
mov eax, dword [ebp + 8]
test byte [eax + 0x3734], 2
je 0x4fde68
push eax
call fcn.004fd0d0
cmp dword [ebp - 0x38], 0
mov ecx, dword [ebp - 0x2c]
je 0x4fdee3
test ecx, ecx
ja 0x4fde7a
mov ecx, 1
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x3768]
cmp ecx, dword [eax + 8]
jae 0x4fde97
sub dword [eax + 8], ecx
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esi + 0x376c]
test ecx, ecx
je 0x4fdec6
mov edx, dword [ecx + 0xc]
cmp edx, dword [eax + 0xc]
jb 0x4fdec6
mov edi, dword [eax]
push eax
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
mov eax, dword [ebp - 8]
mov dword [esi + 0x3768], edi
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push ecx
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
mov eax, dword [esi + 0x3768]
mov dword [esi + 0x376c], eax
mov eax, dword [eax]
mov dword [esi + 0x3768], eax
add esp, 4
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4