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

Disassembly:
sub esp, 0x58
push ebx
push ebp
mov ebp, dword [esp + 0x6c]
xor ebx, ebx
push esi
push edi
mov edi, dword [esp + 0x70]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
cmp ebp, ebx
je 0x4bcd6e
cmp dword [ebp + 0x1378], 0xc0dedbad
jne 0x4bcd6e
mov ecx, dword [esp + 0x6c]
xor esi, esi
push 1
mov dword [esp + 0x14], esi
mov dword [esp + 0x78], esi
call fcn.004ba310
add esp, 4
test eax, eax
je 0x4bbd38
mov eax, ecx
call fcn.004bb7b0
mov ecx, dword [ebp + 8]
cmp ecx, esi
je 0x4bbf7b
mov eax, dword [ebp + 0x24]
cmp eax, 2
jle 0x4bbd52
cmp eax, 0xf
jge 0x4bbd52
mov dword [ecx], ebp
cmp dword [ebp + 8], esi
je 0x4bbf7b
mov eax, dword [ebp + 0x24]
cmp eax, 2
jl 0x4bbf7b
cmp eax, 0xf
jge 0x4bbf7b
xor ecx, ecx
cmp eax, 8
setle cl
push ecx
push edi
push ebp
call fcn.004c24a0
add esp, 0xc
cmp edx, esi
jg 0x4bbf7b
jl 0x4bbd95
cmp eax, esi
jae 0x4bbf7b
mov eax, dword [ebp + 0x24]
cmp eax, 3
jne 0x4bbdfa
mov edx, dword [ebp + 0xd20]
mov ecx, dword [ebp + 0xd24]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp + 0xd28]
mov dword [eax + 4], ecx
mov ecx, dword [ebp + 0xd2c]
mov dword [eax + 8], edx
mov edx, dword [edi]
mov dword [eax + 0xc], ecx
mov ecx, dword [edi + 4]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [edi + 8]
mov dword [eax + 4], ecx
mov ecx, dword [edi + 0xc]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
call fcn.004c6b40
push edx
push eax
push str.Resolving_timed_out_after__I64d_milliseconds
push ebp
call fcn.004bd3d0
add esp, 0x30
jmp 0x4bbf47
cmp eax, 4
jne 0x4bbe5c
mov edx, dword [ebp + 0xd20]
mov ecx, dword [ebp + 0xd24]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp + 0xd28]
mov dword [eax + 4], ecx
mov ecx, dword [ebp + 0xd2c]
mov dword [eax + 8], edx
mov edx, dword [edi]
mov dword [eax + 0xc], ecx
mov ecx, dword [edi + 4]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [edi + 8]
mov dword [eax + 4], ecx
mov ecx, dword [edi + 0xc]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
call fcn.004c6b40
push edx
push eax
push str.Connection_timed_out_after__I64d_milliseconds
push ebp
call fcn.004bd3d0
add esp, 0x30
jmp 0x4bbf47
mov eax, dword [ebp + 0x88]
mov ecx, dword [ebp + 0x8c]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x4bbede
mov edx, dword [ebp + 0xd20]
push ecx
mov ecx, dword [ebp + 0x98]
push eax
mov eax, dword [ebp + 0x9c]
push eax
push ecx
mov ecx, dword [ebp + 0xd24]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp + 0xd28]
mov dword [eax + 4], ecx
mov ecx, dword [ebp + 0xd2c]
mov dword [eax + 8], edx
mov edx, dword [edi]
mov dword [eax + 0xc], ecx
mov ecx, dword [edi + 4]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [edi + 8]
mov dword [eax + 4], ecx
mov ecx, dword [edi + 0xc]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
call fcn.004c6b40
add esp, 0x20
push edx
push eax
push str.Operation_timed_out_after__I64d_milliseconds_with__I64d_out_of__I64d_bytes_received
push ebp
call fcn.004bd3d0
add esp, 0x20
jmp 0x4bbf47
mov edx, dword [ebp + 0x9c]
mov eax, dword [ebp + 0x98]
mov ecx, dword [ebp + 0xd20]
push edx
mov edx, dword [ebp + 0xd24]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebp + 0xd28]
mov dword [eax + 4], edx
mov edx, dword [ebp + 0xd2c]
mov dword [eax + 8], ecx
mov ecx, dword [edi]
mov dword [eax + 0xc], edx
mov edx, dword [edi + 4]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [edi + 8]
mov dword [eax + 4], edx
mov edx, dword [edi + 0xc]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
call fcn.004c6b40
add esp, 0x20
push edx
push eax
push str.Operation_timed_out_after__I64d_milliseconds_with__I64d_bytes_received
push ebp
call fcn.004bd3d0
add esp, 0x18
cmp dword [ebp + 0x24], 8
jle 0x4bbf63
mov eax, dword [ebp + 8]
push 2
push eax
call fcn.004c3390
add esp, 8
mov dword [esp + 0x10], 1
mov ebx, 0x1c
push 1
mov ecx, ebx
mov esi, ebp
call fcn.004bb800
add esp, 4
jmp case.0x4bbf87.1
mov eax, dword [ebp + 0x24]
cmp eax, 0x10
ja case.default.0x4bbf87
jmp dword [eax*4 + 0x4bcd7c]
push ebp
call fcn.004e7960
mov ebx, eax
add esp, 4
cmp ebx, esi
jne case.0x4bbf87.1
mov eax, 2
mov ecx, ebp
call fcn.004bb1e0
push 1
lea ecx, [esp + 0x4c]
push ebp
push ecx
call fcn.004cc1e0
mov edx, dword [eax]
mov dword [edi], edx
mov ecx, dword [eax + 4]
mov dword [edi + 4], ecx
mov edx, dword [eax + 8]
mov dword [edi + 8], edx
mov eax, dword [eax + 0xc]
add esp, 0xc
mov dword [edi + 0xc], eax
mov dword [esp + 0x74], 0xffffffff
jmp case.0x4bbf87.1
push ebp
call fcn.004ba4e0
mov ebx, eax
add esp, 4
cmp ebx, esi
jne case.0x4bbf87.1
push 2
lea ecx, [esp + 0x5c]
push ebp
push ecx
call fcn.004cc1e0
mov edx, dword [eax]
mov dword [edi], edx
mov ecx, dword [eax + 4]
mov dword [edi + 4], ecx
mov edx, dword [eax + 8]
mov dword [edi + 8], edx
mov eax, dword [eax + 0xc]
mov dword [edi + 0xc], eax
mov eax, dword [ebp + 0x650]
add esp, 0xc
cmp eax, esi
je 0x4bc031
cdq
push 0xa
push edx
push eax
push ebp
call fcn.004baee0
add esp, 0x10
mov eax, dword [ebp + 0x654]
cmp eax, esi
je 0x4bc049
cdq
push 2
push edx
push eax
push ebp
call fcn.004baee0
add esp, 0x10
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x30]
push edx
push ebp
call fcn.004b9d70
mov ebx, eax
add esp, 0xc
cmp ebx, 0x59
jne 0x4bc08d
lea eax, [ebx - 0x58]
mov ecx, ebp
call fcn.004bb1e0
lea eax, [ebp + 0xc]
push eax
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0x28]
push ebp
push ecx
add eax, 0x24
push eax
call fcn.004e4330
add esp, 0x10
xor ebx, ebx
jmp case.0x4bbf87.1
cmp dword [ebp + 0x1274], esi
je 0x4bc0ab
push str.Transfer_was_pending__now_try_another_n
push ebp
call fcn.004bd2f0
mov eax, dword [ebp + 0x78]
add esp, 8
call fcn.004bb7b0
cmp ebx, esi
jne case.0x4bbf87.1
cmp dword [esp + 0x2c], esi
je 0x4bc0c3
mov eax, 3
jmp 0x4bcc26
mov dword [esp + 0x74], 0xffffffff
cmp dword [esp + 0x14], esi
je 0x4bc0db
mov eax, 8
jmp 0x4bcc26
mov edx, dword [ebp + 8]
push edx
call fcn.004e8210
add esp, 4
mov ecx, ebp
test eax, eax
je 0x4bc0f7
mov eax, 5
jmp 0x4bcc28
mov eax, 4
jmp 0x4bcc28
mov esi, dword [ebp + 8]
mov dword [esp + 0x18], 0
cmp dword [esi + 0x53c], 0
je 0x4bc11d
mov eax, dword [esi + 0x34c]
jmp 0x4bc134
cmp dword [esi + 0x55c], 0
je 0x4bc12e
mov eax, dword [esi + 0x31c]
jmp 0x4bc134
mov eax, dword [esi + 0x304]
mov ecx, dword [esi + 0x364]
push ecx
push eax
push esi
mov dword [esp + 0x30], eax
call fcn.004e5250
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
je 0x4bc17c
mov edx, dword [esp + 0x24]
push edx
push 0x7911fc
push ebp
mov dword [esi + 0x66c], eax
mov dword [esi + 0x678], 1
xor ebx, ebx
call fcn.004bd2f0
add esp, 0xc
cmp dword [esp + 0x18], ebx
jne 0x4bc18f
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x18]
push eax
push ecx
call fcn.004e5980
add esp, 8
mov ebx, eax
mov edx, dword [esp + 0x6c]
push ebp
push edx
call fcn.004ba580
add esp, 8
cmp dword [esp + 0x18], 0
je 0x4bc1fb
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x14]
push eax
push ecx
call fcn.004e59c0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x4bc1c4
mov dword [ebp + 8], 0
jmp 0x4bc1fb
cmp dword [esp + 0x14], 0
mov dword [esp + 0x74], 0xffffffff
je 0x4bc1da
mov eax, 8
jmp 0x4bc1f4
mov edx, dword [ebp + 8]
push edx
call fcn.004e8210
add esp, 4
test eax, eax
mov eax, 5
jne 0x4bc1f4
mov eax, 4
mov ecx, ebp
call fcn.004bb1e0
test ebx, ebx
je case.0x4bbf87.1
mov dword [esp + 0x10], 1
jmp case.0x4bbf87.1
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x14]
push eax
push ecx
call fcn.004e15c0
mov ebx, eax
mov eax, dword [ebp + 8]
add esp, 8
cmp dword [eax + 0x54c], esi
je 0x4bc24d
xor ebx, ebx
push ebx
xor ecx, ecx
mov esi, ebp
mov dword [esp + 0x78], 0xffffffff
call fcn.004bb800
add esp, 4
lea eax, [ebx + 2]
jmp 0x4bcc26
cmp ebx, esi
jne 0x4bc203
cmp dword [eax + 0x358], 2
jne 0x4bc266
cmp dword [eax + 0x534], esi
je case.0x4bbf87.1
push eax
call fcn.004e81f0
add esp, 4
test eax, eax
je case.0x4bbf87.1
mov dword [esp + 0x74], 0xffffffff
mov eax, 6
jmp 0x4bcc26
mov eax, dword [ebp + 8]
lea edx, [esp + 0x30]
push edx
push esi
push eax
call fcn.004c39e0
add esp, 0xc
mov ebx, eax
cmp dword [esp + 0x30], esi
je 0x4bc2ef
cmp ebx, esi
jne 0x4bc2f7
mov eax, dword [ebp + 8]
cmp dword [eax + 0x358], 2
jne 0x4bc2bb
cmp dword [eax + 0x534], esi
je 0x4bc2c8
push eax
call fcn.004e8210
add esp, 4
test eax, eax
je 0x4bc2d2
mov eax, 5
jmp 0x4bcc26
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x548]
neg eax
sbb eax, eax
mov dword [esp + 0x74], 0xffffffff
add eax, 6
jmp 0x4bcc26
cmp ebx, esi
je case.0x4bbf87.1
push ebp
call fcn.0051db30
push 1
mov ecx, ebx
mov esi, ebp
call fcn.004bb800
add esp, 8
mov dword [esp + 0x10], 1
jmp case.0x4bbf87.1
mov esi, dword [ebp + 8]
lea ebx, [esp + 0x14]
call fcn.004ba430
mov ebx, eax
test ebx, ebx
jne 0x4bc2f7
mov ecx, ebp
cmp dword [esp + 0x14], eax
jne 0x4bc33a
lea eax, [ebx + 7]
jmp 0x4bcc28
mov eax, 8
call fcn.004bb1e0
mov dword [esp + 0x74], 0xffffffff
jmp case.0x4bbf87.1
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x14]
call fcn.004ba3d0
mov ebx, eax
cmp ebx, esi
jne 0x4bc2f7
cmp dword [esp + 0x14], esi
je case.0x4bbf87.1
mov eax, 8
mov ecx, ebp
call fcn.004bb1e0
mov dword [esp + 0x74], 0xffffffff
jmp case.0x4bbf87.1
cmp dword [ebp + 0xc10], esi
je 0x4bc3b6
mov edx, dword [ebp + 8]
push esi
push edx
call fcn.004c3390
add esp, 8
mov eax, 0xe
mov ecx, ebp
call fcn.004bb1e0
xor ebx, ebx
mov dword [esp + 0x74], 0xffffffff
jmp case.0x4bbf87.1
lea ebx, [esp + 0x1c]
mov ecx, ebp
call fcn.004ba360
mov ebx, eax
cmp ebx, esi
jne 0x4bc45c
cmp dword [esp + 0x1c], esi
jne 0x4bc425
cmp dword [ebp + 0x1258], esi
je 0x4bc410
mov eax, dword [ebp + 0x1280]
cmp eax, 7
je 0x4bc3e9
cmp eax, 5
jne 0x4bc410
push 0
xor ecx, ecx
mov esi, ebp
call fcn.004bb800
add esp, 4
mov eax, 0xe
mov ecx, ebp
call fcn.004bb1e0
mov dword [esp + 0x74], 0xffffffff
jmp case.0x4bbf87.1
mov eax, 9
mov ecx, ebp
call fcn.004bb1e0
mov dword [esp + 0x74], esi
jmp case.0x4bbf87.1
mov eax, dword [ebp + 8]
mov ecx, ebp
cmp dword [eax + 0x574], esi
je 0x4bc445
mov eax, 0xa
call fcn.004bb1e0
mov dword [esp + 0x74], esi
jmp case.0x4bbf87.1
mov eax, 0xb
call fcn.004bb1e0
mov dword [esp + 0x74], 0xffffffff
jmp case.0x4bbf87.1
cmp ebx, 0x37
jne 0x4bc522
mov eax, dword [ebp + 8]
cmp dword [eax + 0x554], esi
je 0x4bc522
lea ecx, [esp + 0x24]
push ecx
push eax
mov dword [esp + 0x2c], esi
call fcn.004e7e80
add esp, 8
cmp eax, esi
je 0x4bc494
mov ebx, eax
mov dword [esp + 0x10], 1
push ebp
call fcn.0051db30
push 0
mov ecx, ebx
mov esi, ebp
call fcn.004bb800
mov ecx, dword [esp + 0x2c]
add esp, 8
test ecx, ecx
je 0x4bc507
test eax, eax
je 0x4bc4ce
cmp eax, 0x37
je 0x4bc4ce
mov edx, dword [esp + 0x24]
push edx
mov ebx, eax
call dword [0x84f474]
add esp, 4
jmp case.0x4bbf87.1
push 2
push ecx
push ebp
call fcn.004e7ba0
add esp, 0xc
test eax, eax
jne 0x4bc4b9
mov eax, 2
mov ecx, ebp
call fcn.004bb1e0
mov edx, dword [esp + 0x24]
push edx
mov dword [esp + 0x78], 0xffffffff
xor ebx, ebx
call dword [0x84f474]
add esp, 4
jmp case.0x4bbf87.1
mov edx, dword [esp + 0x24]
push edx
mov dword [esp + 0x14], 1
call dword [0x84f474]
add esp, 4
jmp case.0x4bbf87.1
push ebp
call fcn.0051db30
add esp, 4
cmp dword [ebp + 8], esi
je 0x4bc53e
push 0
mov ecx, ebx
mov esi, ebp
call fcn.004bb800
add esp, 4
mov dword [esp + 0x10], 1
jmp case.0x4bbf87.1
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x1c]
call fcn.004ba400
mov ebx, eax
cmp ebx, esi
jne 0x4bc58b
cmp dword [esp + 0x1c], esi
je case.0x4bbf87.1
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x574]
neg eax
sbb eax, eax
add eax, 0xb
mov ecx, ebp
call fcn.004bb1e0
mov dword [esp + 0x74], 0xffffffff
jmp case.0x4bbf87.1
push ebp
call fcn.0051db30
push 0
jmp 0x4bc2ff
mov edi, dword [ebp + 8]
lea ebx, [esp + 0x34]
call fcn.004ba3a0
mov ebx, eax
test ebx, ebx
jne 0x4bc5e9
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4bc5d8
xor ecx, ecx
cmp eax, 1
sete cl
lea ecx, [ecx + ecx + 9]
mov eax, ecx
mov ecx, ebp
call fcn.004bb1e0
mov edi, dword [esp + 0x70]
mov dword [esp + 0x74], 0xffffffff
jmp case.0x4bbf87.1
mov edi, dword [esp + 0x70]
mov dword [esp + 0x74], 0
jmp case.0x4bbf87.1
push ebp
call fcn.0051db30
push 0
mov ecx, ebx
mov esi, ebp
call fcn.004bb800
mov edi, dword [esp + 0x78]
add esp, 8
mov dword [esp + 0x10], 1
jmp case.0x4bbf87.1
mov edx, dword [ebp + 8]
cmp dword [edx + 0x5a0], esi
je 0x4bc622
mov eax, dword [esp + 0x6c]
call fcn.004bb7b0
mov eax, dword [ebp + 8]
or esi, 0xffffffff
cmp dword [eax + 0x614], esi
jne 0x4bc66f
cmp dword [eax + 0x618], esi
jne 0x4bc66f
cmp dword [ebp + 0x1258], 0
je 0x4bc65a
mov eax, dword [eax + 0x5f0]
test dword [eax + 0x48], 0x1000
jne 0x4bc65a
mov dword [ebp + 0x1280], 7
mov eax, 0xe
mov ecx, ebp
call fcn.004bb1e0
mov dword [esp + 0x74], esi
jmp case.0x4bbf87.1
mov eax, 0xc
mov ecx, ebp
call fcn.004bb1e0
mov dword [esp + 0x74], esi
jmp case.0x4bbf87.1
mov ecx, dword [ebp + 8]
push ecx
call fcn.004ccf40
add esp, 4
test eax, eax
je 0x4bc69e
mov ebx, 0x2a
jmp case.0x4bbf87.1
mov edx, dword [edi]
mov ecx, dword [edi + 4]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [edi + 8]
mov dword [eax + 4], ecx
mov ecx, dword [edi + 0xc]
mov dword [eax + 8], edx
push ebp
mov dword [eax + 0xc], ecx
call fcn.004e5d20
mov ebx, eax
add esp, 0x14
cmp ebx, esi
jne case.0x4bbf87.1
mov ecx, dword [ebp + 0x684]
cmp ecx, esi
mov edx, dword [ebp + 0x680]
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
jl 0x4bc75d
jg 0x4bc6ea
cmp edx, esi
jbe 0x4bc75d
mov esi, dword [edi]
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov esi, dword [edi + 4]
mov dword [eax + 4], esi
mov esi, dword [edi + 8]
mov dword [eax + 8], esi
mov esi, dword [edi + 0xc]
mov dword [eax + 0xc], esi
mov esi, dword [ebp + 0xd50]
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov esi, dword [ebp + 0xd54]
mov dword [eax + 4], esi
mov esi, dword [ebp + 0xd58]
push ecx
mov ecx, dword [ebp + 0xcb4]
push edx
mov edx, dword [ebp + 0xd64]
mov dword [eax + 8], esi
mov esi, dword [ebp + 0xd5c]
push edx
mov edx, dword [ebp + 0xcb0]
mov dword [eax + 0xc], esi
mov eax, dword [ebp + 0xd60]
push eax
push ecx
push edx
call fcn.004cc410
add esp, 0x38
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
xor esi, esi
mov ecx, dword [ebp + 0x68c]
mov esi, dword [ebp + 0x688]
xor eax, eax
xor edx, edx
test ecx, ecx
jl 0x4bc7e0
jg 0x4bc777
test esi, esi
jbe 0x4bc7e0
mov edx, dword [edi]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [edi + 4]
mov dword [eax + 4], edx
mov edx, dword [edi + 8]
mov dword [eax + 8], edx
mov edx, dword [edi + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [ebp + 0xd68]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp + 0xd6c]
mov dword [eax + 4], edx
mov edx, dword [ebp + 0xd70]
mov dword [eax + 8], edx
mov edx, dword [ebp + 0xd74]
push ecx
mov ecx, dword [ebp + 0xd78]
mov dword [eax + 0xc], edx
mov eax, dword [ebp + 0xd7c]
mov edx, dword [ebp + 0xcac]
push esi
push eax
mov eax, dword [ebp + 0xca8]
push ecx
push edx
push eax
call fcn.004cc410
add esp, 0x38
mov ecx, dword [esp + 0x38]
mov esi, ecx
or esi, dword [esp + 0x3c]
jne 0x4bc825
mov esi, eax
or esi, edx
jne 0x4bc825
lea eax, [esi + 0xc]
mov ecx, ebp
call fcn.004bb1e0
mov ecx, dword [edi]
mov edx, dword [edi + 4]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [edi + 8]
mov dword [eax + 4], edx
mov edx, dword [edi + 0xc]
mov dword [eax + 8], ecx
push ebp
mov dword [eax + 0xc], edx
call fcn.004cc530
add esp, 0x14
jmp case.0x4bbf87.1
mov esi, dword [esp + 0x3c]
cmp esi, edx
jl 0x4bc845
jg 0x4bc833
cmp ecx, eax
jb 0x4bc845
push 0xb
push esi
push ecx
push ebp
call fcn.004baee0
add esp, 0x10
jmp case.0x4bbf87.1
push 0xb
push edx
push eax
push ebp
call fcn.004baee0
add esp, 0x10
jmp case.0x4bbf87.1
mov ecx, dword [ebp + 0x684]
cmp ecx, esi
mov edx, dword [ebp + 0x680]
mov dword [esp + 0x18], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
jl 0x4bc8f2
jg 0x4bc881
cmp edx, esi
jbe 0x4bc8f2
mov esi, dword [edi]
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov esi, dword [edi + 4]
mov dword [eax + 4], esi
mov esi, dword [edi + 8]
mov dword [eax + 8], esi
mov esi, dword [edi + 0xc]
mov dword [eax + 0xc], esi
mov esi, dword [ebp + 0xd50]
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov esi, dword [ebp + 0xd54]
mov dword [eax + 4], esi
mov esi, dword [ebp + 0xd58]
mov dword [eax + 8], esi
mov esi, dword [ebp + 0xd5c]
push ecx
mov ecx, dword [ebp + 0xd60]
push edx
mov edx, dword [ebp + 0xcb4]
mov dword [eax + 0xc], esi
mov eax, dword [ebp + 0xd64]
push eax
mov eax, dword [ebp + 0xcb0]
push ecx
push edx
push eax
call fcn.004cc410
add esp, 0x38
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov ecx, dword [ebp + 0x68c]
mov edx, dword [ebp + 0x688]
xor esi, esi
cmp ecx, esi
mov dword [esp + 0x40], esi
jl 0x4bc97d
jg 0x4bc90e
cmp edx, esi
jbe 0x4bc97d
mov esi, dword [edi]
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov esi, dword [edi + 4]
mov dword [eax + 4], esi
mov esi, dword [edi + 8]
mov dword [eax + 8], esi
mov esi, dword [edi + 0xc]
mov dword [eax + 0xc], esi
mov esi, dword [ebp + 0xd68]
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov esi, dword [ebp + 0xd6c]
push ecx
mov ecx, dword [ebp + 0xd7c]
mov dword [eax + 4], esi
mov esi, dword [ebp + 0xd70]
push edx
mov edx, dword [ebp + 0xd78]
mov dword [eax + 8], esi
mov esi, dword [ebp + 0xd74]
push ecx
mov ecx, dword [ebp + 0xca8]
mov dword [eax + 0xc], esi
mov eax, dword [ebp + 0xcac]
push edx
push eax
push ecx
call fcn.004cc410
add esp, 0x38
mov dword [esp + 0x40], eax
mov esi, edx
mov edx, dword [esp + 0x38]
or edx, dword [esp + 0x3c]
jne 0x4bcb61
mov eax, dword [esp + 0x40]
or eax, esi
jne 0x4bcb61
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x24]
push edx
push ebp
push eax
call fcn.004e74d0
add esp, 0x10
cmp dword [esp + 0x20], 0
mov ebx, eax
jne 0x4bca01
cmp ebx, 0x38
je 0x4bca01
cmp ebx, 0x5c
je 0x4bc9c9
mov esi, dword [esp + 0x24]
test ebx, ebx
je 0x4bca37
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x5f0]
test byte [ecx + 0x48], 2
jne 0x4bc9e8
cmp ebx, 0x5c
je 0x4bc9e8
push 2
push eax
call fcn.004c3390
add esp, 8
push ebp
call fcn.0051db30
push 1
mov ecx, ebx
mov esi, ebp
call fcn.004bb800
add esp, 8
jmp case.0x4bbf87.1
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x18]
push ecx
push edx
call fcn.004e7e80
add esp, 8
test eax, eax
jne 0x4bca2f
cmp dword [esp + 0x18], eax
setne al
mov esi, eax
test esi, esi
je 0x4bc9c5
xor ebx, ebx
mov dword [esp + 0x20], 1
jmp 0x4bca42
test ebx, ebx
jne 0x4bc9c9
mov ebx, eax
jmp 0x4bc9c1
cmp dword [esp + 0x20], 0
je 0x4bcb3a
push ebp
call fcn.0051db30
add esp, 4
cmp dword [ebp + 0x12c], 0
jne 0x4bcac9
test esi, esi
jne 0x4bcaf0
cmp dword [ebp + 0x128], esi
je 0x4bc3f7
mov edx, dword [esp + 0x18]
push edx
call dword [0x84f474]
mov eax, dword [ebp + 0x128]
push 1
push eax
push ebp
mov dword [esp + 0x28], eax
mov dword [ebp + 0x128], esi
call fcn.004e7ba0
mov ebx, eax
mov eax, dword [esp + 0x28]
push eax
call dword [0x84f474]
add esp, 0x14
test ebx, ebx
je 0x4bc3f7
push 1
mov ecx, ebx
mov esi, ebp
mov dword [esp + 0x14], 1
call fcn.004bb800
mov ebx, eax
add esp, 4
test ebx, ebx
jne case.0x4bbf87.1
jmp 0x4bc3f7
test esi, esi
jne 0x4bcaf0
mov ecx, dword [esp + 0x18]
push ecx
call dword [0x84f474]
mov edx, dword [ebp + 0x12c]
add esp, 4
mov dword [esp + 0x18], edx
mov dword [ebp + 0x12c], esi
lea ebx, [esi + 3]
jmp 0x4bcaf5
mov ebx, 2
push 0
xor ecx, ecx
mov esi, ebp
call fcn.004bb800
mov eax, dword [esp + 0x1c]
push ebx
push eax
push ebp
call fcn.004e7ba0
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x4bcb27
lea eax, [ebx + 2]
mov ecx, ebp
call fcn.004bb1e0
mov dword [esp + 0x74], 0xffffffff
mov ecx, dword [esp + 0x18]
push ecx
call dword [0x84f474]
add esp, 4
jmp case.0x4bbf87.1
cmp dword [esp + 0x28], 0
je case.0x4bbf87.1
push 8
push 0
push 0
push ebp
call fcn.004baee0
add esp, 0x10
mov dword [esp + 0x74], 0
jmp case.0x4bbf87.1
mov edx, dword [edi]
mov ecx, dword [edi + 4]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [edi + 8]
mov dword [eax + 4], ecx
mov ecx, dword [edi + 0xc]
mov dword [eax + 8], edx
push ebp
mov dword [eax + 0xc], ecx
call fcn.004cc530
add esp, 0x14
mov eax, 0xd
mov ecx, ebp
call fcn.004bb1e0
cmp dword [esp + 0x3c], esi
jl 0x4bcbba
jg 0x4bcba3
mov edx, dword [esp + 0x40]
cmp dword [esp + 0x38], edx
jb 0x4bcbba
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
push 0xb
push eax
push ecx
push ebp
call fcn.004baee0
add esp, 0x10
jmp case.0x4bbf87.1
mov edx, dword [esp + 0x40]
push 0xb
push esi
push edx
push ebp
call fcn.004baee0
add esp, 0x10
jmp case.0x4bbf87.1
mov eax, dword [ebp + 8]
mov dword [esp + 0x74], 0xffffffff
cmp eax, esi
je 0x4bcc0c
cmp dword [eax + 0x5a0], esi
je 0x4bcbed
mov eax, dword [esp + 0x6c]
call fcn.004bb7b0
push 0
mov ecx, ebx
mov esi, ebp
call fcn.004bb800
add esp, 4
test ebx, ebx
jne 0x4bcc01
mov ebx, eax
push ebp
call fcn.004ba110
add esp, 4
xor esi, esi
cmp dword [ebp + 0x1258], esi
je 0x4bcc21
cmp dword [ebp + 0x1280], 7
je 0x4bcc21
xor eax, eax
jmp 0x4bcc26
mov eax, 0xf
mov ecx, ebp
call fcn.004bb1e0
cmp dword [ebp + 0x24], 0xf
jge 0x4bcce4
test ebx, ebx
je 0x4bcca5
mov eax, dword [esp + 0x6c]
call fcn.004bb7b0
mov esi, dword [ebp + 8]
test esi, esi
je 0x4bcc85
cmp dword [esp + 0x10], 0
je 0x4bcc94
push ebp
call fcn.004ba110
push 1
push esi
push ebp
call fcn.004c42f0
xor eax, eax
cmp ebx, 0x1c
sete al
push eax
push esi
push ebp
call fcn.004b8b40
add esp, 0x1c
mov eax, 0xf
mov ecx, ebp
call fcn.004bb1e0
or esi, 0xffffffff
jmp 0x4bcce8
cmp dword [ebp + 0x24], 2
jne 0x4bcc94
push ebp
call fcn.0051db30
add esp, 4
mov eax, 0xf
mov ecx, ebp
call fcn.004bb1e0
or esi, 0xffffffff
jmp 0x4bcce8
mov eax, dword [ebp + 8]
test eax, eax
je 0x4bcce4
push eax
call fcn.004ccf40
add esp, 4
test eax, eax
je 0x4bcce4
mov ecx, dword [ebp + 8]
push 2
push ecx
mov ebx, 0x2a
call fcn.004c3390
xor eax, eax
add esp, 8
cmp dword [ebp + 0x24], 0xe
mov ecx, ebp
setge al
add eax, 0xe
call fcn.004bb1e0
or esi, 0xffffffff
jmp 0x4bcce8
mov esi, dword [esp + 0x74]
cmp dword [ebp + 0x24], 0xf
jne 0x4bcd28
mov eax, dword [ebp + 0xb68]
test eax, eax
je 0x4bcd01
push ebx
push ebp
call eax
add esp, 8
jmp 0x4bcd1c
mov ecx, dword [esp + 0x6c]
lea eax, [ebp + 0x2c]
mov dword [eax + 0xc], 1
mov dword [eax + 0x10], ebp
mov dword [eax + 0x14], ebx
call fcn.004b9f40
mov esi, eax
mov eax, 0x10
mov ecx, ebp
call fcn.004bb1e0
cmp esi, 0xffffffff
je 0x4bbd15
mov ecx, dword [esp + 0x6c]
push 0
call fcn.004ba310
add esp, 4
test eax, eax
jne 0x4bbd15
mov dword [ebp + 0x28], ebx
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
mov dword [ebp + 0x28], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
mov eax, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x58
ret