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

Disassembly:
sub esp, 0x30
push ebx
push ebp
push esi
mov esi, dword [esp + 0x40]
xor ebx, ebx
push edi
mov dword [esp + 0x3c], 0
mov dword [esp + 0x2c], ebx
mov eax, dword [esi]
mov dword [esp + 0x1c], eax
xor eax, eax
mov dword [esp + 0x38], eax
cmp dword [esi + 0x114], eax
jne 0x4f4da5
mov eax, dword [esp + 0x4c]
cmp dword [eax + 0x40], ebx
jne 0x4f4da5
mov ebp, dword [esp + 0x48]
cmp byte [ebp + 0x2b], 1
je 0x4f4da5
cmp dword [esp + 0x50], 0xb
jne 0x4f4a3e
cmp word [ebp + 0x20], bx
jl 0x4f4a36
movzx edx, byte [ebp + 0x2a]
mov dword [esp + 0x50], edx
cmp edx, 0xb
jne 0x4f4a3e
mov dword [esp + 0x50], 2
mov ecx, dword [eax + 0x20]
cmp dword [ecx], 1
jne 0x4f4da5
cmp dword [ecx + 0x1c], ebx
jne 0x4f4da5
cmp dword [eax + 0x24], ebx
jne 0x4f4da5
cmp dword [eax + 0x30], ebx
jne 0x4f4da5
cmp dword [eax + 0x28], ebx
jne 0x4f4da5
cmp dword [eax + 0x3c], ebx
jne 0x4f4da5
cmp dword [eax + 0x34], ebx
jne 0x4f4da5
test byte [eax + 4], 1
jne 0x4f4da5
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
jne 0x4f4da5
mov eax, dword [eax + 8]
cmp byte [eax], 0xb4
jne 0x4f4da5
lea eax, [ecx + 8]
push eax
push 0
push esi
call fcn.004b13e0
mov edi, eax
add esp, 0xc
mov dword [esp + 0x10], edi
test edi, edi
je 0x4f4da5
mov eax, dword [edi + 0x14]
cmp eax, dword [ebp + 0x14]
jne 0x4f4ad3
mov eax, dword [edi + 0x3c]
cmp eax, dword [ebp + 0x3c]
je 0x4f4da5
mov esi, dword [edi + 0x1c]
mov ecx, esi
mov edx, dword [ebp + 0x1c]
mov eax, edx
shr ecx, 7
shr eax, 7
not ecx
not eax
xor ecx, eax
test cl, 1
jne 0x4f4da5
cmp byte [edi + 0x2b], bl
jne 0x4f4da5
movzx ecx, word [ebp + 0x22]
cmp cx, word [edi + 0x22]
jne 0x4f4da5
mov ax, word [ebp + 0x20]
cmp ax, word [edi + 0x20]
jne 0x4f4da5
test edx, 0x10000
je 0x4f4b2b
test esi, 0x10000
je 0x4f4da5
xor eax, eax
mov dword [esp + 0x28], ebx
cmp ax, cx
jge 0x4f4d67
xor ecx, ecx
mov dword [esp + 0x30], ecx
jmp 0x4f4b46
mov edi, dword [esp + 0x10]
mov esi, dword [ebp + 4]
mov edi, dword [edi + 4]
add esi, ecx
add edi, ecx
mov cx, word [esi + 0xe]
mov ax, word [edi + 0xe]
and cx, 0x60
and ax, 0x60
cmp cx, ax
jne 0x4f4da5
test cx, cx
je 0x4f4be6
movzx eax, word [esi + 0xc]
test ax, ax
jne 0x4f4b7b
xor ecx, ecx
jmp 0x4f4b9b
cmp byte [ebp + 0x2b], 0
je 0x4f4b85
xor ecx, ecx
jmp 0x4f4b9b
mov ecx, dword [ebp + 0x34]
test ecx, ecx
je 0x4f4b9b
cmp dword [ecx], eax
jge 0x4f4b94
xor ecx, ecx
jmp 0x4f4b9b
lea eax, [eax + eax*4]
mov ecx, dword [ecx + eax*4 - 0xc]
movzx eax, word [edi + 0xc]
test ax, ax
jne 0x4f4ba8
xor eax, eax
jmp 0x4f4bd0
mov edx, dword [esp + 0x10]
cmp byte [edx + 0x2b], 0
je 0x4f4bb6
xor eax, eax
jmp 0x4f4bd0
mov edx, dword [edx + 0x34]
test edx, edx
jne 0x4f4bc1
xor eax, eax
jmp 0x4f4bd0
cmp dword [edx], eax
jge 0x4f4bc9
xor eax, eax
jmp 0x4f4bd0
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4 - 0xc]
push 0xffffffffffffffff
push ecx
push eax
push 0
call fcn.004a3880
add esp, 0x10
test eax, eax
jne 0x4f4da5
mov al, byte [esi + 8]
cmp al, byte [edi + 8]
jne 0x4f4da5
movzx ecx, word [edi + 0xe]
test ecx, 0x200
jne 0x4f4c02
xor ecx, ecx
jmp 0x4f4c29
mov eax, dword [edi]
cmp byte [eax], 0
je 0x4f4c16
nop dword [eax]
inc eax
cmp byte [eax], 0
jne 0x4f4c10
test cl, 4
je 0x4f4c26
nop dword [eax + eax]
inc eax
cmp byte [eax], 0
jne 0x4f4c20
lea ecx, [eax + 1]
movzx ebx, word [esi + 0xe]
test ebx, 0x200
je 0x4f4c71
mov eax, dword [esi]
cmp byte [eax], 0
je 0x4f4c46
nop dword [eax]
inc eax
cmp byte [eax], 0
jne 0x4f4c40
test bl, 4
je 0x4f4c56
nop dword [eax + eax]
inc eax
cmp byte [eax], 0
jne 0x4f4c50
add eax, 1
je 0x4f4c71
test ecx, ecx
je 0x4f4da5
push ecx
push eax
call fcn.004c1f20
add esp, 8
mov ecx, eax
jmp 0x4f4c75
neg ecx
sbb ecx, ecx
test ecx, ecx
jne 0x4f4da5
test byte [esi + 4], 0xf
je 0x4f4c8d
test byte [edi + 4], 0xf
je 0x4f4da5
test bl, 0x60
mov ebx, dword [esp + 0x28]
jne 0x4f4d49
test ebx, ebx
jle 0x4f4d49
movzx eax, word [esi + 0xc]
test ax, ax
jne 0x4f4caf
xor esi, esi
jmp 0x4f4ccf
cmp byte [ebp + 0x2b], 0
je 0x4f4cb9
xor esi, esi
jmp 0x4f4ccf
mov esi, dword [ebp + 0x34]
test esi, esi
je 0x4f4ccf
cmp dword [esi], eax
jge 0x4f4cc8
xor esi, esi
jmp 0x4f4ccf
lea eax, [eax + eax*4]
mov esi, dword [esi + eax*4 - 0xc]
movzx eax, word [edi + 0xc]
test ax, ax
jne 0x4f4cdc
xor edx, edx
jmp 0x4f4d00
mov ecx, dword [esp + 0x10]
cmp byte [ecx + 0x2b], 0
je 0x4f4cea
xor edx, edx
jmp 0x4f4d00
mov edx, dword [ecx + 0x34]
test edx, edx
je 0x4f4d00
cmp dword [edx], eax
jge 0x4f4cf9
xor edx, edx
jmp 0x4f4d00
lea eax, [eax + eax*4]
mov edx, dword [edx + eax*4 - 0xc]
xor ecx, ecx
test edx, edx
sete cl
xor eax, eax
test esi, esi
sete al
cmp eax, ecx
jne 0x4f4da5
test esi, esi
je 0x4f4d49
mov ecx, dword [edx + 8]
mov eax, dword [esi + 8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4f4d40
test dl, dl
je 0x4f4d3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4f4d40
add eax, 2
add ecx, 2
test dl, dl
jne 0x4f4d20
xor eax, eax
jmp 0x4f4d45
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4f4da5
mov ecx, dword [esp + 0x30]
inc ebx
movsx eax, word [ebp + 0x22]
add ecx, 0x10
mov dword [esp + 0x28], ebx
mov dword [esp + 0x30], ecx
cmp ebx, eax
jl 0x4f4b42
xor ebx, ebx
mov edi, dword [ebp + 8]
mov eax, 1
test edi, edi
je 0x4f4de6
cmp byte [edi + 0x36], 0
cmovne ebx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2c], ebx
mov esi, dword [eax + 8]
test esi, esi
je 0x4f4da5
nop dword [eax]
push esi
push edi
call fcn.004f48e0
add esp, 8
test eax, eax
jne 0x4f4daf
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x4f4d90
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret
mov eax, dword [esi + 0x2c]
cmp eax, dword [edi + 0x2c]
jne 0x4f4dda
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x3c]
cmp eax, dword [ebp + 0x3c]
jne 0x4f4dda
mov eax, dword [0x56f1f8]
test eax, eax
je 0x4f4da5
push 0x19b
call eax
add esp, 4
test eax, eax
je 0x4f4da5
mov edi, dword [edi + 0x14]
mov eax, 1
test edi, edi
jne 0x4f4d73
mov eax, dword [ebp + 0x10]
mov ebx, dword [esp + 0x10]
test eax, eax
je 0x4f4e03
push 0xffffffffffffffff
push eax
push dword [ebx + 0x10]
call fcn.004a4ef0
add esp, 0xc
test eax, eax
jne 0x4f4da5
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
and eax, 0x4000
or eax, 0
je 0x4f4e1d
cmp dword [ebp + 0x30], 0
jne 0x4f4da5
and ecx, 1
xor eax, eax
or eax, ecx
jne 0x4f4da5
mov ecx, dword [ebx + 0x3c]
mov dword [esp + 0x20], 0xffff8000
test ecx, ecx
je 0x4f4e5c
mov eax, dword [esi + 0x10]
xor edx, edx
add eax, 0xc
mov dword [esp + 0x20], edx
cmp dword [eax], ecx
je 0x4f4e5c
nop dword [eax]
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], ecx
jne 0x4f4e50
mov dword [esp + 0x20], edx
mov ebx, dword [esp + 0x44]
push ebx
call fcn.004ad320
push dword [esp + 0x24]
mov edi, eax
push ebx
call fcn.0049a3e0
mov ecx, ebx
push ebp
push dword [esp + 0x64]
mov ebx, dword [ecx + 0x28]
push ecx
mov dword [esp + 0x2c], ebx
lea esi, [ebx + 1]
lea eax, [esi + 1]
mov dword [esp + 0x4c], esi
mov dword [ecx + 0x28], eax
call fcn.0045e960
push dword [esp + 0x5c]
mov ebp, eax
call fcn.004ac920
push eax
push 0
push 0x4b
push edi
mov dword [esp + 0x50], eax
call fcn.004c6d90
mov edx, dword [esp + 0x70]
push edx
call fcn.004ac920
mov ecx, dword [esp + 0x78]
push 0x71
push ecx
push dword [esp + 0x8c]
mov dword [esp + 0x54], eax
push esi
push edx
call fcn.004b22e0
mov eax, dword [esp + 0x60]
add esp, 0x44
test byte [eax + 0x18], 4
mov eax, dword [esp + 0x48]
jne 0x4f4f2d
cmp word [eax + 0x20], 0
jge 0x4f4eee
cmp dword [eax + 8], 0
jne 0x4f4f03
cmp dword [esp + 0x2c], 0
jne 0x4f4f03
mov ecx, dword [esp + 0x50]
cmp ecx, 2
je 0x4f4f2d
cmp ecx, 1
je 0x4f4f2d
push 0
push esi
push 0x24
push edi
call fcn.004c6d90
push 9
push edi
mov esi, eax
call fcn.004c6ce0
push esi
push edi
mov dword [esp + 0x5c], eax
call fcn.004d1180
mov eax, dword [esp + 0x68]
lea esi, [ebx + 1]
add esp, 0x20
mov ecx, dword [esp + 0x10]
test byte [ecx + 0x1c], 0x80
jne 0x4f50cf
push 0x70
push ecx
push dword [esp + 0x28]
push ebx
push dword [esp + 0x54]
call fcn.004b22e0
push 0
push ebx
push 0x24
push edi
call fcn.004c6d90
mov dword [esp + 0x5c], eax
add esp, 0x24
mov eax, dword [esp + 0x48]
cmp word [eax + 0x20], 0
jl 0x4f4fcb
push dword [esp + 0x18]
push ebx
push 0x87
push edi
call fcn.004c6d90
mov ebx, eax
add esp, 0x10
mov eax, dword [esp + 0x1c]
test byte [eax + 0x18], 4
jne 0x4f4fb4
push dword [esp + 0x18]
push 0
push esi
push 0x1f
push edi
call fcn.004c6df0
push dword [esp + 0x5c]
mov esi, eax
push dword [esp + 0x68]
push dword [esp + 0x60]
call fcn.004bc320
push esi
push edi
call fcn.004d1180
add esp, 0x28
push dword [esp + 0x18]
push ebp
push dword [esp + 0x4c]
call fcn.0045ea30
mov ebp, dword [esp + 0x20]
add esp, 0xc
jmp 0x4f5005
cmp dword [eax + 8], 0
jne 0x4f4fee
mov eax, dword [esp + 0x1c]
test byte [eax + 0x18], 8
jne 0x4f4fee
push dword [esp + 0x18]
push esi
push 0x7f
push edi
call fcn.004c6d90
mov ebp, dword [esp + 0x24]
jmp 0x4f5000
push dword [esp + 0x18]
mov ebp, ebx
push ebp
push 0x87
push edi
call fcn.004c6d90
mov ebx, eax
add esp, 0x10
mov eax, dword [esp + 0x1c]
test byte [eax + 0x18], 4
je 0x4f5028
lea eax, [ebp + 1]
push eax
push 0x89
push edi
call fcn.004c6d30
add esp, 0xc
mov esi, 0x98
jmp 0x4f502d
mov esi, 0xa9
push dword [esp + 0x18]
lea eax, [ebp + 1]
push ebp
push eax
push 0x81
push edi
call fcn.004c6df0
push dword [esp + 0x2c]
lea eax, [ebp + 1]
push dword [esp + 0x3c]
push eax
push 0x80
push edi
call fcn.004c6df0
mov eax, dword [esp + 0x44]
add esp, 0x28
test byte [eax + 0x18], 4
jne 0x4f509c
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
jne 0x4f509c
mov eax, dword [edi + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x48]
add eax, 0xffffffec
cmp byte [eax + 1], 0
je 0x4f5095
push 0xfffffffffffffffb
push ecx
push eax
push edi
call fcn.004e2d50
add esp, 0x10
jmp 0x4f509c
mov dword [eax + 0x10], ecx
mov byte [eax + 1], 0xfb
push esi
push edi
call fcn.004c72b0
push ebx
push ebp
push 0x27
push edi
call fcn.004c6d90
push 0
push ebp
push 0x7a
push edi
call fcn.004c6d90
push 0
lea esi, [ebp + 1]
push esi
push 0x7a
push edi
call fcn.004c6d90
mov ebx, dword [esp + 0x58]
add esp, 0x38
jmp 0x4f5101
push dword [eax]
mov ebp, dword [esp + 0x48]
push 1
push dword [eax + 0x14]
push dword [esp + 0x60]
push ebp
call fcn.004c25d0
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x34]
push dword [eax]
push 0
push dword [eax + 0x14]
push ebx
push ebp
call fcn.004c25d0
mov ebp, dword [esp + 0x3c]
add esp, 0x28
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 8]
mov dword [esp + 0x28], eax
test eax, eax
je 0x4f55cb
mov eax, dword [esp + 0x10]
mov byte [esp + 0x2c], 0
mov esi, dword [eax + 8]
test esi, esi
je 0x4f5141
mov ebp, dword [esp + 0x28]
push esi
push ebp
call fcn.004f48e0
add esp, 8
test eax, eax
jne 0x4f513d
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x4f5128
mov ebp, dword [esp + 0x14]
mov ecx, dword [edi + 0x6c]
mov edx, dword [esi + 0x2c]
cmp dword [edi + 0x70], ecx
jg 0x4f515c
push ebx
push edx
push ebp
push 0x70
push edi
call fcn.00475980
add esp, 0x14
jmp 0x4f5187
mov ebp, dword [esp + 0x14]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x70
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x44]
push esi
push eax
mov ebx, dword [eax + 8]
call fcn.004b0220
mov edx, eax
add esp, 8
test edx, edx
je 0x4f51d4
mov eax, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x4f51c2
cmp dword [eax + 0x210], 0
jne 0x4f51d4
add dword [edx], 0xffffffff
jne 0x4f51d4
push edx
push dword [edx + 0xc]
call fcn.0049dc30
add esp, 8
jmp 0x4f51d4
mov eax, dword [ebx + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf8
mov dword [eax + ecx*4 - 4], edx
mov edx, dword [esp + 0x28]
mov ecx, dword [edi + 0x6c]
mov edx, dword [edx + 0x2c]
cmp dword [edi + 0x70], ecx
jg 0x4f51f9
push dword [esp + 0x54]
lea eax, [ebp + 1]
push edx
push eax
push 0x71
push edi
call fcn.00475980
add esp, 0x14
jmp 0x4f5227
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
lea ebx, [ebp + 1]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x54]
mov dword [eax + ecx*4], 0x71
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x44]
push dword [esp + 0x28]
push eax
mov ebx, dword [eax + 8]
call fcn.004b0220
mov edx, eax
add esp, 8
test edx, edx
je 0x4f5277
mov eax, dword [ebx]
cmp byte [eax + 0x57], 0
je 0x4f5265
cmp dword [eax + 0x210], 0
jne 0x4f5277
add dword [edx], 0xffffffff
jne 0x4f5277
push edx
push dword [edx + 0xc]
call fcn.0049dc30
add esp, 8
jmp 0x4f5277
mov eax, dword [ebx + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf8
mov dword [eax + ecx*4 - 4], edx
mov edx, dword [edi + 0x6c]
mov dword [esp + 0x30], edx
test edx, edx
jle 0x4f5299
mov eax, dword [edi + 0x68]
lea ecx, [edx + edx*4]
mov edx, 1
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [edi + 0x6c]
mov dword [esp + 0x30], edx
cmp dword [edi + 0x70], edx
jg 0x4f52b4
push 0
push 0
push ebp
push 0x24
push edi
call fcn.00475980
add esp, 0x14
mov dword [esp + 0x30], eax
jmp 0x4f52e3
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x24
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x1c]
test byte [eax + 0x18], 4
je 0x4f53cd
movzx ebp, word [esi + 0x34]
xor ebx, ebx
test ebp, ebp
je 0x4f5320
mov esi, dword [esi + 0x20]
nop
mov eax, dword [esi]
test eax, eax
je 0x4f5320
push eax
push 0x52e74c
call fcn.004c1f20
add esp, 8
test eax, eax
jne 0x4f5320
inc ebx
add esi, 4
cmp ebx, ebp
jl 0x4f5300
cmp ebx, ebp
jne 0x4f53f3
mov ecx, dword [edi + 0x6c]
mov bl, 0x90
mov esi, dword [esp + 0x34]
cmp dword [edi + 0x70], ecx
jg 0x4f534b
push 0
push 0
push esi
push 0x89
push edi
call fcn.00475980
add esp, 0x14
jmp 0x4f537a
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x89
mov dword [eax + ecx*4 + 4], esi
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 + 0x6c]
mov ebp, dword [esp + 0x14]
cmp dword [edi + 0x70], ecx
jg 0x4f53a1
push 0
push ebp
push esi
push 0x81
push edi
call fcn.00475980
mov edx, dword [esp + 0x38]
add esp, 0x14
jmp 0x4f5453
mov edx, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x81
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], ebp
mov dword [eax + ecx*4 + 0xc], 0
jmp 0x4f544b
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x2c]
test byte [eax + 0x1c], 0x80
je 0x4f53fb
mov eax, dword [esp + 0x28]
movzx ebx, bl
mov al, byte [eax + 0x38]
and al, 3
cmp al, 2
mov eax, 1
cmove ebx, eax
jmp 0x4f53fb
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x2c]
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x4f5421
push 1
push dword [esp + 0x28]
push ebp
push 0x86
push edi
call fcn.00475980
mov edx, dword [esp + 0x38]
lea esi, [ebp + 1]
add esp, 0x14
jmp 0x4f5453
mov edx, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
lea esi, [ebp + 1]
mov dword [eax + ecx*4], 0x86
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 1
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x4f546f
push 0
push edx
push esi
push 0x8a
push edi
call fcn.00475980
add esp, 0x14
jmp 0x4f549e
mov ebp, dword [esp + 0x14]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x8a
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
mov ecx, dword [edi + 0x6c]
test ecx, ecx
jle 0x4f54b9
mov eax, dword [edi + 0x68]
lea ecx, [ecx + ecx*4]
or bl, 8
movzx edx, bl
mov word [eax + ecx*4 - 0x12], dx
mov ecx, dword [edi + 0x6c]
mov ebx, dword [esp + 0x30]
lea edx, [ebx + 1]
cmp dword [edi + 0x70], ecx
jg 0x4f54d6
push 0
push edx
push ebp
push 0x27
push edi
call fcn.00475980
add esp, 0x14
jmp 0x4f5504
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
lea esi, [ebp + 1]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], ebp
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]
mov edx, dword [edi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x4f5516
mov eax, 0x5751d0
jmp 0x4f551f
mov eax, dword [edi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x4f553c
push 0
push 0
push ebp
push 0x7a
push edi
call fcn.00475980
add esp, 0x14
jmp 0x4f556b
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x7a
mov dword [eax + ecx*4 + 4], ebp
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 + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x4f5585
push 0
push 0
push esi
push 0x7a
push edi
call fcn.00475980
add esp, 0x14
jmp 0x4f55b4
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x7a
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x4f5114
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4f55dd
push eax
push edi
call fcn.004d1180
add esp, 8
push dword [esp + 0x18]
mov ebx, dword [esp + 0x48]
push ebx
call fcn.004bb250
push dword [esp + 0x2c]
push ebx
call fcn.004bb250
mov ebp, dword [esp + 0x4c]
add esp, 0x10
test ebp, ebp
je 0x4f563a
cmp dword [ebx + 0x7c], 0
je 0x4f560f
push ebx
call fcn.0045ea60
add esp, 4
push 0
push 0
push 0x46
push edi
call fcn.004c6d90
push ebp
push edi
call fcn.004d1180
push 0
push esi
push 0x7a
push edi
call fcn.004c6d90
add esp, 0x28
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x30
ret