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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
xor edi, edi
mov byte [ebp - 2], 0
mov byte [ebp - 3], 0
mov byte [ebp - 4], 0
mov dword [ebp - 0xc], edi
test esi, esi
je 0x4b581b
cmp dword [esi], 0xc0dedbad
jne 0x4b581b
mov edx, dword [ebp + 8]
cmp byte [edx + 0x100], 0
je 0x4b4ac2
mov edi, 0x2a
push esi
mov dword [ebp - 0xc], edi
call fcn.00405f80
push 0
push edi
push esi
call fcn.004b4530
push 0xf
push esi
call fcn.004b43c0
mov edx, dword [ebp + 8]
add esp, 0x18
push 1
push edx
mov byte [ebp + 0x13], 0
xor ebx, ebx
call fcn.004b4a40
add esp, 8
test al, al
je 0x4b4ae0
push edx
call fcn.004b6050
add esp, 4
mov eax, dword [esi + 0x34]
cmp eax, 2
jle 0x4b4af6
cmp eax, 0xf
jge 0x4b4af6
cmp dword [esi + 0x18], ebx
je case.default.0x4b4b32
cmp dword [esi + 0x18], ebx
je 0x4b4b26
cmp eax, 2
jl 0x4b4b26
cmp eax, 0xf
jge 0x4b4b26
push 0
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp + 0x13]
push eax
push dword [ebp + 0xc]
push esi
call fcn.004b48e0
mov edi, dword [ebp - 0xc]
add esp, 0x14
test al, al
jne 0x4b56d1
mov eax, dword [esi + 0x34]
cmp eax, 0x10
ja case.default.0x4b4b32
jmp dword [eax*4 + 0x4b5828]
push esi
call fcn.004d0a10
mov edi, eax
add esp, 4
mov dword [ebp - 0xc], edi
test edi, edi
jne case.0x4b4b32.1
push 2
push esi
call fcn.004b43c0
push 1
lea eax, [ebp - 0x3c]
push esi
push eax
call fcn.004d1fe0
add esp, 0x14
or ebx, 0xffffffff
movups xmm0, xmmword [eax]
mov eax, dword [ebp + 0xc]
movups xmmword [eax], xmm0
jmp case.0x4b4b32.1
push esi
call fcn.004b3740
mov edi, eax
add esp, 4
mov dword [ebp - 0xc], edi
test edi, edi
jne case.0x4b4b32.1
push 2
lea eax, [ebp - 0x4c]
push esi
push eax
call fcn.004d1fe0
add esp, 0xc
movups xmm0, xmmword [eax]
mov eax, dword [ebp + 0xc]
movups xmmword [eax], xmm0
mov eax, dword [esi + 0x1e0]
test eax, eax
je 0x4b4bbc
push 0xa
push edi
push eax
push esi
call fcn.004b3310
add esp, 0x10
mov eax, dword [esi + 0x1e4]
test eax, eax
je 0x4b4bd4
push 2
push 0
push eax
push esi
call fcn.004b3310
add esp, 0x10
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 6]
push eax
push esi
call fcn.004bd190
mov edi, eax
add esp, 0xc
mov dword [ebp - 0xc], edi
cmp edi, 0x59
jne 0x4b4c1f
push 1
push esi
call fcn.004b43c0
mov edi, dword [ebp + 8]
lea eax, [esi + 0x1c]
push eax
push esi
push dword [edi + 0x28]
lea eax, [edi + 0x24]
push eax
call fcn.004c8280
push esi
push edi
call fcn.004b6810
add esp, 0x20
xor edi, edi
mov dword [ebp - 0xc], edi
jmp case.0x4b4b32.1
cmp byte [esi + 0xd98], bl
je 0x4b4c3d
push str.Transfer_was_pending__now_try_another
push esi
call fcn.004c2340
push dword [esi + 0x7c]
call fcn.004b6050
add esp, 0xc
test edi, edi
jne case.0x4b4b32.1
push 3
lea eax, [ebp - 0x5c]
push esi
push eax
call fcn.004d1fe0
add esp, 0xc
movups xmm0, xmmword [eax]
mov eax, dword [ebp + 0xc]
movups xmmword [eax], xmm0
cmp byte [ebp - 6], bl
je 0x4b4c69
push 3
jmp 0x4b5685
or ebx, 0xffffffff
cmp byte [ebp - 1], 0
je 0x4b4c79
push 6
jmp 0x4b5685
push 4
jmp 0x4b5685
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x10], ebx
cmp byte [eax + 0x1a8], bl
je 0x4b4c93
mov ebx, dword [eax + 0x78]
jmp 0x4b4ca3
cmp byte [eax + 0x1b1], bl
je 0x4b4ca0
mov ebx, dword [eax + 0x48]
jmp 0x4b4ca3
mov ebx, dword [eax + 0x30]
push dword [eax + 0x2fc]
push ebx
push esi
call fcn.004c89c0
add esp, 0xc
mov dword [ebp - 0x10], eax
test eax, eax
je 0x4b4ce0
push ebx
push 0x55e8ec
xor edi, edi
mov dword [esi + 0x9ac], eax
push esi
mov byte [esi + 0x9c0], 1
mov dword [ebp - 0xc], edi
call fcn.004c2340
add esp, 0xc
cmp dword [ebp - 0x10], edi
jne 0x4b4cf2
lea eax, [ebp - 0x10]
push eax
push esi
call fcn.004c93f0
mov edi, eax
add esp, 8
mov dword [ebp - 0xc], edi
push esi
push dword [ebp + 8]
call fcn.004b64c0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x4b57aa
cmp dword [ebp - 0x10], eax
je 0x4b4d2a
lea eax, [ebp - 1]
push eax
push esi
call fcn.004c9050
mov edi, eax
add esp, 8
mov dword [ebp - 0xc], edi
test edi, edi
je 0x4b4c69
mov dword [esi + 0x18], ebx
test edi, edi
je case.0x4b4b32.1
mov byte [ebp + 0x13], 1
jmp case.0x4b4b32.1
lea eax, [ebp - 2]
push eax
push esi
call fcn.004ca8b0
mov edi, eax
add esp, 8
mov eax, dword [esi + 0x18]
mov dword [ebp - 0xc], edi
cmp byte [eax + 0x1ac], bl
je 0x4b4d78
xor edi, edi
or ebx, 0xffffffff
push edi
push edi
push esi
mov dword [ebp - 0xc], edi
call fcn.004b4530
push 2
push esi
call fcn.004b43c0
add esp, 0x14
jmp case.0x4b4b32.1
test edi, edi
jne 0x4b4d32
or ebx, 0xffffffff
push 6
jmp 0x4b5685
lea eax, [ebp - 1]
push eax
push 0
push 0
push esi
call fcn.004c1ab0
add esp, 0x10
mov edi, eax
mov dword [ebp - 0xc], edi
cmp byte [ebp - 1], bl
je 0x4b4daf
test edi, edi
jne 0x4b4db7
or ebx, 0xffffffff
push 6
jmp 0x4b5685
test edi, edi
je case.0x4b4b32.1
push esi
call fcn.00405f80
push 1
push edi
push esi
call fcn.004b4530
add esp, 0x10
mov byte [ebp + 0x13], 1
jmp case.0x4b4b32.1
cmp byte [esi + 0xd9f], bl
je 0x4b4de8
push esi
call fcn.004b61f0
mov edi, eax
add esp, 4
mov dword [ebp - 0xc], edi
test edi, edi
jne 0x4b4db7
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x1af], bl
je 0x4b4e0a
push 8
push esi
call fcn.004b43c0
add esp, 8
or ebx, 0xffffffff
jmp case.0x4b4b32.1
lea eax, [ebp - 2]
push eax
push esi
call fcn.004b60a0
mov edi, eax
add esp, 8
mov dword [ebp - 0xc], edi
test edi, edi
jne 0x4b4db7
cmp byte [ebp - 2], bl
jne 0x4b4df7
push 7
push esi
call fcn.004b43c0
add esp, 8
or ebx, 0xffffffff
jmp case.0x4b4b32.1
lea eax, [ebp - 2]
push eax
push esi
call fcn.004b6120
mov edi, eax
add esp, 8
mov dword [ebp - 0xc], edi
test edi, edi
jne 0x4b4db7
cmp byte [ebp - 2], bl
je case.0x4b4b32.1
push 8
push esi
call fcn.004b43c0
add esp, 8
or ebx, 0xffffffff
jmp case.0x4b4b32.1
cmp dword [esi + 0x1bc], ebx
je 0x4b4ee5
push 1
push esi
call fcn.004b3780
push dword [esi + 0xe5c]
lea eax, [esi + 0xe2c]
push dword [esi + 0xe24]
push eax
lea eax, [esi + 0xdf4]
push eax
push dword [esi + 0x1c0]
mov eax, dword [esi + 0x1bc]
call eax
push 0
push esi
mov edi, eax
call fcn.004b3780
add esp, 0x24
test edi, edi
je 0x4b4ee5
push str.operation_aborted_by_pre_request_callback
push esi
call fcn.004c2280
mov edi, 0x2a
push esi
mov dword [ebp - 0xc], edi
call fcn.00405f80
push 0
push edi
push esi
call fcn.004b4530
add esp, 0x18
mov byte [ebp + 0x13], 1
jmp case.0x4b4b32.1
cmp byte [esi + 0x6a5], 1
jne 0x4b4f10
push 0
push dword [esi + 0x18]
call fcn.004c3540
push 0xe
push esi
call fcn.004b43c0
xor edi, edi
add esp, 0x10
mov dword [ebp - 0xc], edi
or ebx, 0xffffffff
jmp case.0x4b4b32.1
lea eax, [ebp - 3]
push eax
push esi
call fcn.004b44e0
mov edi, eax
add esp, 8
mov dword [ebp - 0xc], edi
test edi, edi
jne 0x4b4fb2
cmp byte [ebp - 3], bl
jne 0x4b4f81
cmp byte [esi + 0xd92], bl
je 0x4b4f6e
mov eax, dword [esi + 0xda8]
mov al, byte [eax + 0x20]
cmp al, 7
je 0x4b4f48
cmp al, 5
jne 0x4b4f6e
push 0
push 0
push esi
call fcn.004b4530
mov eax, dword [esi + 0x18]
neg eax
sbb eax, eax
add eax, 0xf
push eax
push esi
call fcn.004b43c0
add esp, 0x14
or ebx, 0xffffffff
jmp case.0x4b4b32.1
push 9
push esi
call fcn.004b43c0
add esp, 8
or ebx, 0xffffffff
jmp case.0x4b4b32.1
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x1b5], bl
je 0x4b4f9f
push 0xa
push esi
call fcn.004b43c0
add esp, 8
or ebx, 0xffffffff
jmp case.0x4b4b32.1
push 0xb
push esi
call fcn.004b43c0
add esp, 8
or ebx, 0xffffffff
jmp case.0x4b4b32.1
cmp edi, 0x37
jne 0x4b5065
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x1af], bl
je 0x4b5065
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], ebx
push eax
push esi
call fcn.004d1120
add esp, 8
test eax, eax
je 0x4b4fe7
mov edi, eax
mov byte [ebp + 0x13], 1
mov dword [ebp - 0xc], edi
push esi
call fcn.00405f80
push 0
push edi
push esi
call fcn.004b4530
mov ecx, dword [ebp - 0x10]
add esp, 0x10
test ecx, ecx
je 0x4b5052
test eax, eax
je 0x4b501d
cmp eax, 0x37
je 0x4b501d
mov edi, eax
push ecx
mov dword [ebp - 0xc], edi
call dword [0x595174]
add esp, 4
jmp case.0x4b4b32.1
push 2
push ecx
push esi
call fcn.004d0460
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x4b503d
push 2
push esi
call fcn.004b43c0
add esp, 8
or ebx, 0xffffffff
mov ecx, dword [ebp - 0x10]
push ecx
mov dword [ebp - 0xc], edi
call dword [0x595174]
add esp, 4
jmp case.0x4b4b32.1
push ecx
mov byte [ebp + 0x13], 1
call dword [0x595174]
add esp, 4
jmp case.0x4b4b32.1
push esi
call fcn.00405f80
add esp, 4
cmp dword [esi + 0x18], ebx
je 0x4b507f
push 0
push edi
push esi
call fcn.004b4530
add esp, 0xc
mov byte [ebp + 0x13], 1
jmp case.0x4b4b32.1
lea eax, [ebp - 3]
push eax
push esi
call fcn.004b6160
mov edi, eax
add esp, 8
mov dword [ebp - 0xc], edi
test edi, edi
jne 0x4b50ca
cmp byte [ebp - 3], bl
je case.0x4b4b32.1
mov eax, dword [esi + 0x18]
xor ecx, ecx
cmp byte [eax + 0x1b5], cl
sete cl
add ecx, 0xa
push ecx
push esi
call fcn.004b43c0
add esp, 8
or ebx, 0xffffffff
jmp case.0x4b4b32.1
push esi
call fcn.00405f80
push 0
push edi
push esi
call fcn.004b4530
add esp, 0x10
mov byte [ebp + 0x13], 1
jmp case.0x4b4b32.1
lea eax, [ebp - 0x2c]
push eax
push esi
call fcn.004b4500
mov edi, eax
add esp, 8
mov dword [ebp - 0xc], edi
test edi, edi
jne 0x4b50ca
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je case.0x4b4b32.1
cmp ecx, 1
sete al
lea eax, [eax*2 + 9]
push eax
push esi
call fcn.004b43c0
add esp, 8
or ebx, 0xffffffff
jmp case.0x4b4b32.1
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x1bf], bl
je 0x4b513b
push dword [ebp + 8]
call fcn.004b6050
add esp, 4
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x1e0], 0xffffffff
jne 0x4b5184
cmp dword [eax + 0x1e4], 0xffffffff
jne 0x4b5184
cmp byte [esi + 0xd92], bl
je 0x4b5171
mov eax, dword [eax + 0x1c8]
test dword [eax + 0x4c], 0x1000
jne 0x4b5171
mov eax, dword [esi + 0xda8]
mov byte [eax + 0x20], 7
push 0xe
push esi
call fcn.004b43c0
add esp, 8
or ebx, 0xffffffff
jmp case.0x4b4b32.1
push 0xc
push esi
call fcn.004b43c0
add esp, 8
or ebx, 0xffffffff
jmp case.0x4b4b32.1
push esi
call fcn.004d21a0
add esp, 4
test eax, eax
je 0x4b51ae
mov edi, 0x2a
mov dword [ebp - 0xc], edi
jmp 0x4b51ce
mov ecx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
movups xmm0, xmmword [ecx]
push esi
movups xmmword [eax], xmm0
call fcn.004d3390
mov edi, eax
add esp, 0x14
mov dword [ebp - 0xc], edi
test edi, edi
je 0x4b5204
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + 0x1c8]
test byte [eax + 0x4c], 2
jne 0x4b51ed
cmp edi, 0x5c
je 0x4b51ed
push 2
push ecx
call fcn.004c3540
add esp, 8
push esi
call fcn.00405f80
push 1
push edi
push esi
call fcn.004b4530
add esp, 0x10
jmp case.0x4b4b32.1
mov eax, dword [esi + 0x210]
xorps xmm0, xmm0
mov ecx, dword [esi + 0x214]
or eax, ecx
movlpd qword [ebp - 0x28], xmm0
je 0x4b5266
mov edx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [edx]
mov edx, dword [esi + 0x210]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [esi + 0x7b8]
push ecx
push edx
push dword [esi + 0x7cc]
movups xmmword [eax], xmm0
push dword [esi + 0x7c8]
push dword [esi + 0x714]
push dword [esi + 0x710]
call fcn.004d1d40
add esp, 0x38
mov dword [ebp - 0x14], edx
jmp 0x4b526f
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [esi + 0x21c]
xorps xmm0, xmm0
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x218]
or eax, ecx
movlpd qword [ebp - 0x20], xmm0
je 0x4b52d3
mov edx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [edx]
mov edx, dword [esi + 0x218]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [esi + 0x7d0]
push ecx
push edx
push dword [esi + 0x7e4]
movups xmmword [eax], xmm0
push dword [esi + 0x7e0]
push dword [esi + 0x70c]
push dword [esi + 0x708]
call fcn.004d1d40
add esp, 0x38
mov ecx, eax
jmp 0x4b52d9
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
or eax, dword [ebp - 0x14]
jne 0x4b530b
mov eax, ecx
or eax, edx
jne 0x4b530b
push 0xc
push esi
call fcn.004b43c0
mov ecx, dword [ebp + 0xc]
sub esp, 8
mov eax, esp
movups xmm0, xmmword [ecx]
push esi
movups xmmword [eax], xmm0
call fcn.004d2330
add esp, 0x14
jmp case.0x4b4b32.1
cmp dword [ebp - 0x14], edx
jl 0x4b532d
mov eax, dword [ebp - 0x10]
jg 0x4b5319
cmp eax, ecx
jb 0x4b532d
push 0xb
push dword [ebp - 0x14]
push eax
push esi
call fcn.004b3310
add esp, 0x10
jmp case.0x4b4b32.1
push 0xb
push edx
push ecx
push esi
call fcn.004b3310
add esp, 0x10
jmp case.0x4b4b32.1
mov eax, dword [esi + 0x210]
xorps xmm0, xmm0
mov ecx, dword [esi + 0x214]
or eax, ecx
mov dword [ebp - 0x10], ebx
mov byte [ebp - 5], bl
movlpd qword [ebp - 0x28], xmm0
je 0x4b53a7
mov edx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [edx]
mov edx, dword [esi + 0x210]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [esi + 0x7b8]
push ecx
push edx
push dword [esi + 0x7cc]
movups xmmword [eax], xmm0
push dword [esi + 0x7c8]
push dword [esi + 0x714]
push dword [esi + 0x710]
call fcn.004d1d40
add esp, 0x38
mov dword [ebp - 0x18], edx
jmp 0x4b53b0
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [esi + 0x21c]
xorps xmm0, xmm0
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x218]
or eax, ecx
movlpd qword [ebp - 0x20], xmm0
je 0x4b5417
mov edx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [edx]
mov edx, dword [esi + 0x218]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [esi + 0x7d0]
push ecx
push edx
push dword [esi + 0x7e4]
movups xmmword [eax], xmm0
push dword [esi + 0x7e0]
push dword [esi + 0x70c]
push dword [esi + 0x708]
call fcn.004d1d40
add esp, 0x38
mov dword [ebp - 0x1c], eax
mov ecx, eax
jmp 0x4b5420
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x14]
or eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], edx
jne 0x4b55e2
mov eax, ecx
or eax, edx
jne 0x4b55e2
lea eax, [ebp - 4]
push eax
push esi
call fcn.004d0dc0
add esp, 8
mov edi, eax
mov dword [ebp - 0xc], edi
cmp byte [ebp - 4], bl
jne 0x4b5490
cmp edi, 0x38
je 0x4b5490
cmp edi, 0x5c
jne 0x4b54c2
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + 0x1c8]
test byte [eax + 0x4c], 2
jne 0x4b5479
cmp edi, 0x5c
je 0x4b5479
push 2
push ecx
call fcn.004c3540
add esp, 8
push esi
call fcn.00405f80
push 1
push edi
push esi
call fcn.004b4530
add esp, 0x10
jmp case.0x4b4b32.1
lea eax, [ebp - 0x10]
push eax
push esi
call fcn.004d1120
add esp, 8
test eax, eax
jne 0x4b54b9
cmp dword [ebp - 0x10], ebx
setne al
mov byte [ebp - 5], al
test al, al
je 0x4b54c2
xor edi, edi
mov byte [ebp - 4], 1
mov dword [ebp - 0xc], edi
jmp 0x4b54cf
test edi, edi
jne 0x4b545a
mov edi, eax
mov dword [ebp - 0xc], edi
test edi, edi
jne 0x4b545a
cmp byte [ebp - 4], bl
je 0x4b55c2
push esi
call fcn.00405f80
add esp, 4
cmp dword [esi + 0x110], ebx
jne 0x4b5557
cmp byte [ebp - 5], bl
jne 0x4b557e
cmp dword [esi + 0x10c], ebx
je 0x4b5544
push dword [ebp - 0x10]
call dword [0x595174]
mov eax, dword [esi + 0x10c]
push 1
push eax
push esi
mov dword [ebp - 0x10], eax
mov dword [esi + 0x10c], ebx
call fcn.004d0460
push dword [ebp - 0x10]
mov edi, eax
mov dword [ebp - 0xc], edi
call dword [0x595174]
add esp, 0x14
test edi, edi
je 0x4b5544
push 1
push edi
push esi
mov byte [ebp + 0x13], 1
call fcn.004b4530
mov edi, eax
add esp, 0xc
mov dword [ebp - 0xc], edi
test edi, edi
jne case.0x4b4b32.1
push 0xe
push esi
call fcn.004b43c0
add esp, 8
or ebx, 0xffffffff
jmp case.0x4b4b32.1
cmp byte [ebp - 5], bl
jne 0x4b557e
push dword [ebp - 0x10]
call dword [0x595174]
mov eax, dword [esi + 0x110]
add esp, 4
mov dword [ebp - 0x10], eax
mov edi, 3
mov dword [esi + 0x110], ebx
jmp 0x4b5583
mov edi, 2
push 0
push 0
push esi
call fcn.004b4530
push edi
push dword [ebp - 0x10]
push esi
call fcn.004d0460
mov edi, eax
add esp, 0x18
mov dword [ebp - 0xc], edi
test edi, edi
jne 0x4b55b1
push 2
push esi
call fcn.004b43c0
add esp, 8
or ebx, 0xffffffff
push dword [ebp - 0x10]
call dword [0x595174]
add esp, 4
jmp case.0x4b4b32.1
cmp byte [esi + 0xd8b], bl
je case.0x4b4b32.1
push 8
push 0
push 0
push esi
call fcn.004b3310
add esp, 0x10
jmp case.0x4b4b32.1
mov ecx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
movups xmm0, xmmword [ecx]
push esi
movups xmmword [eax], xmm0
call fcn.004d2330
push 0xd
push esi
call fcn.004b43c0
mov ecx, dword [ebp - 0x24]
add esp, 0x1c
mov edx, dword [ebp - 0x18]
cmp edx, ecx
jl 0x4b5626
jg 0x4b5615
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jb 0x4b5629
push 0xb
push edx
push dword [ebp - 0x14]
push esi
call fcn.004b3310
add esp, 0x10
jmp case.0x4b4b32.1
mov eax, dword [ebp - 0x1c]
push 0xb
push ecx
push eax
push esi
call fcn.004b3310
add esp, 0x10
jmp case.0x4b4b32.1
mov eax, dword [esi + 0x18]
or ebx, 0xffffffff
test eax, eax
je 0x4b566a
cmp byte [eax + 0x1bf], 0
je 0x4b5656
push dword [ebp + 8]
call fcn.004b6050
add esp, 4
push 0
push edi
push esi
call fcn.004b4530
add esp, 0xc
test edi, edi
cmove edi, eax
mov dword [ebp - 0xc], edi
cmp byte [esi + 0xd92], 0
je 0x4b5683
mov eax, dword [esi + 0xda8]
cmp byte [eax + 0x20], 7
je 0x4b5683
push 0
jmp 0x4b5685
push 0xf
push esi
call fcn.004b43c0
add esp, 8
cmp dword [esi + 0x18], 0
je 0x4b56d1
mov eax, dword [esi + 0x34]
cmp eax, 2
jl 0x4b56d1
cmp eax, 8
jge 0x4b56d1
mov edx, dword [ebp + 8]
cmp ebx, 0xffffffff
je 0x4b56d4
push 0
push edx
call fcn.004b4a40
add esp, 8
test al, al
jne 0x4b56d4
push 1
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp + 0x13]
push eax
push dword [ebp + 0xc]
push esi
call fcn.004b48e0
mov edi, dword [ebp - 0xc]
add esp, 0x14
mov edx, dword [ebp + 8]
cmp dword [esi + 0x34], 0xf
jge 0x4b5786
test edi, edi
je 0x4b5744
push edx
call fcn.004b6050
mov ebx, dword [esi + 0x18]
add esp, 4
test ebx, ebx
je 0x4b5728
cmp byte [ebp + 0x13], 0
je 0x4b5737
push esi
call fcn.004b32d0
push 1
push ebx
push esi
call fcn.004bb9a0
cmp edi, 0x1c
sete al
movzx eax, al
push eax
push ebx
push esi
call fcn.004bd260
add esp, 0x1c
push 0xf
push esi
call fcn.004b43c0
add esp, 8
jmp 0x4b577f
cmp dword [esi + 0x34], 2
jne 0x4b5737
push esi
call fcn.00405f80
add esp, 4
push 0xf
push esi
call fcn.004b43c0
add esp, 8
jmp 0x4b577f
cmp dword [esi + 0x18], 0
je 0x4b5782
push esi
call fcn.004d21a0
add esp, 4
test eax, eax
je 0x4b5782
push 2
push dword [esi + 0x18]
mov edi, 0x2a
mov dword [ebp - 0xc], edi
call fcn.004c3540
xor eax, eax
cmp dword [esi + 0x34], 0xe
setge al
add eax, 0xe
push eax
push esi
call fcn.004b43c0
add esp, 0x10
or ebx, 0xffffffff
cmp dword [esi + 0x34], 0xf
je 0x4b57bf
mov edx, dword [ebp + 8]
cmp ebx, 0xffffffff
je 0x4b4ac2
push 0
push edx
call fcn.004b4a40
add esp, 8
test al, al
jne 0x4b4ac2
mov dword [esi + 0x38], edi
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x680]
test eax, eax
je 0x4b57d2
push edi
push esi
call eax
mov ebx, dword [ebp + 8]
jmp 0x4b57ec
mov ebx, dword [ebp + 8]
lea eax, [esi + 0x3c]
push eax
push ebx
mov dword [eax + 0xc], 1
mov dword [eax + 0x10], esi
mov dword [eax + 0x14], edi
call fcn.004b43f0
add esp, 8
push 0x10
push esi
call fcn.004b43c0
lea eax, [esi + 0x1c]
push eax
push esi
push dword [ebx + 0x38]
lea eax, [ebx + 0x34]
push eax
call fcn.004c8280
push esi
push ebx
call fcn.004b6810
add esp, 0x20
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 2
pop ebx
mov esp, ebp
pop ebp
ret