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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100fc685
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x2358
call fcn.1003d460
mov eax, dword [0x1013f030]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
xor eax, eax
xor ebx, ebx
cmp esi, 1
setne al
mov edi, ecx
cmp byte [edi + 0xec], 2
mov dword [ebp - 0x2280], edi
mov dword [ebp - 0x2274], edx
mov dword [ebp - 0x2270], ebx
mov dword [ebp - 0x2284], esi
mov dword [ebp - 0x226c], eax
je 0x1002ace5
cmp dword [edi + 0x9c], ebx
jne 0x1002ace5
test esi, esi
jne 0x1002ace5
test byte [edi + 0xe0], 0x80
jne 0x1002acc5
xor al, al
movzx eax, al
neg eax
sbb eax, eax
and eax, 2
jmp 0x1002e4e5
cmp dword [edi + 0x98], 0x2000
mov byte [edi + 0xc], 1
setb al
movzx eax, al
neg eax
sbb eax, eax
and eax, 2
jmp 0x1002e4e5
cmp dword [ebp + 8], 1
jne 0x1002ae89
cmp dword [edi + 0x9c], 3
mov eax, dword [ebp + 0x14]
je 0x1002ad15
push eax
mov ecx, edx
push ecx
mov ecx, dword [edi + 8]
push esi
push 1
push edi
call fcn.10017fa0
mov eax, 3
jmp 0x1002e4e5
test eax, eax
jne 0x1002ad1d
push eax
push eax
jmp 0x1002acff
test esi, esi
jne 0x1002adcc
test eax, eax
jle 0x1002ad0b
lea esp, [esp]
mov edx, dword [ebp - 0x2274]
sub eax, ebx
push eax
mov eax, dword [edi + 0x1c]
add edx, ebx
push edx
push eax
call fcn.10040400
add esp, 0xc
test eax, eax
jle 0x1002ad0b
mov ecx, dword [edi + 0x18]
push 0
push 0
push 0xa
push ecx
add ebx, eax
call fcn.1006d8b0
add esp, 0x10
test eax, eax
je 0x1002adb7
jmp 0x1002ad70
mov eax, dword [edi + 0x18]
push 0x2000
lea edx, [ebp - 0x2214]
push edx
push eax
call fcn.1006d580
add esp, 0xc
test eax, eax
jle 0x1002ada1
push eax
lea ecx, [ebp - 0x2214]
push ecx
mov ecx, dword [edi + 8]
push 0
push 1
push edi
call fcn.10017fa0
mov edx, dword [edi + 0x18]
push 0
push 0
push 0xa
push edx
call fcn.1006d8b0
add esp, 0x10
test eax, eax
jne 0x1002ad70
mov eax, dword [ebp + 0x14]
cmp ebx, eax
jl 0x1002ad30
mov eax, 3
jmp 0x1002e4e5
test dword [edi + 0xe0], 0x8000
jne 0x1002acfb
test eax, eax
jle 0x1002ad0b
mov esi, eax
jmp 0x1002adf0
mov eax, dword [ebp - 0x2274]
mov ecx, dword [edi + 0x44]
mov edx, esi
sub edx, ebx
push edx
add eax, ebx
push eax
push ecx
call fcn.10040400
add esp, 0xc
test eax, eax
jle 0x1002ad0b
mov edx, dword [edi + 0x40]
push 0
push 0
push 0xa
push edx
add ebx, eax
call fcn.1006d8b0
add esp, 0x10
test eax, eax
je 0x1002ae77
lea ebx, [ebx]
mov ecx, dword [edi + 0x40]
push 0x2000
lea eax, [ebp - 0x2214]
push eax
push ecx
call fcn.1006d580
add esp, 0xc
test eax, eax
jle 0x1002ae61
mov ecx, dword [edi + 8]
push eax
lea edx, [ebp - 0x2214]
push edx
push 1
push 1
push edi
call fcn.10017fa0
mov eax, dword [edi + 0x40]
push 0
push 0
push 0xa
push eax
call fcn.1006d8b0
add esp, 0x10
test eax, eax
jne 0x1002ae30
cmp ebx, esi
jl 0x1002adf0
mov eax, 3
jmp 0x1002e4e5
mov ecx, dword [edi + 0x9c]
cmp ecx, 5
ja case.default.0x1002ae98
jmp dword [ecx*4 + 0x1002e504]
mov eax, dword [ebp + 0x14]
add dword [edi + 0x98], eax
cmp eax, 0xb
jge 0x1002aec3
mov eax, edi
call fcn.1002a570
movzx eax, al
neg eax
sbb eax, eax
and eax, 2
jmp 0x1002e4e5
test esi, esi
je 0x1002aead
lea eax, [ebp - 0x22f8]
call fcn.1002fcd0
lea eax, [ebp - 0x22c0]
mov dword [ebp - 4], 0
call fcn.10009510
mov byte [ebp - 4], 1
call fcn.10019540
push 0
push 0
push str.test
lea ebx, [eax + 0x208]
lea edx, [ebp - 0x22c0]
xor ecx, ecx
call fcn.1000d060
lea ecx, [ebp - 0x22c0]
test al, al
jne 0x1002af36
push ecx
mov byte [ebp - 4], 0
call fcn.1000b2f0
lea esi, [ebp - 0x22f8]
mov dword [ebp - 4], 0xffffffff
call fcn.1002fd00
xor eax, eax
jmp 0x1002e4e5
movzx edx, byte [edi + 0xc]
push 1
push edx
xor eax, eax
lea edx, [ebp - 0x22f8]
call fcn.1002fe50
test al, al
jne 0x1002af76
mov byte [ebp - 4], al
lea eax, [ebp - 0x22c0]
push eax
call fcn.1000b2f0
lea esi, [ebp - 0x22f8]
mov dword [ebp - 4], 0xffffffff
call fcn.1002fd00
xor eax, eax
jmp 0x1002e4e5
test dword [edi + 0xe0], 0x2000
je 0x1002af97
mov ecx, dword [ebp - 0x22f8]
push edi
push 0x1002abc0
push ecx
call fcn.10040f10
add esp, 0xc
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x2274]
mov ecx, dword [ebp - 0x22f4]
push edx
push eax
push ecx
call fcn.1006d640
mov ebx, dword [ebp - 0x22ec]
push ebx
call fcn.100429c0
add esp, 0x10
test eax, eax
jge 0x1002b00a
push eax
push ebx
call fcn.10042440
add esp, 8
cmp eax, 2
je 0x1002b00a
mov eax, edi
call fcn.1002a570
movzx edi, al
neg edi
lea edx, [ebp - 0x22c0]
sbb edi, edi
push edx
and edi, 2
mov byte [ebp - 4], 0
call fcn.1000b2f0
lea esi, [ebp - 0x22f8]
mov dword [ebp - 4], 0xffffffff
call fcn.1002fd00
mov eax, edi
jmp 0x1002e4e5
mov eax, dword [ebx + 0xc0]
test eax, eax
je 0x1002b02c
mov eax, dword [eax + 0xd0]
test eax, eax
je 0x1002b02c
lea ecx, [edi + 0x128]
push ecx
mov edx, eax
call fcn.10013040
mov ecx, edi
call fcn.10029f90
test al, al
jne 0x1002b235
test byte [edi + 0xe0], 0x40
je 0x1002b27d
mov eax, dword [edi + 8]
call fcn.100179d0
mov dword [ebp - 0x2270], eax
test eax, eax
je 0x1002b27d
xor ecx, ecx
cmp esi, 1
setne cl
push 1
lea eax, [ebp - 0x2228]
push eax
mov dl, 1
add ecx, 0x65
call fcn.100142a0
mov byte [ebp - 4], 2
cmp dword [ebp - 0x221c], 0
jle 0x1002b186
mov ecx, dword [ebp - 0x2220]
cmp dword [ecx], 0
jne 0x1002b0a2
call fcn.10013e10
mov edx, dword [ebp - 0x2220]
mov dword [edx], eax
mov eax, dword [ebp - 0x2220]
mov ebx, dword [eax]
test ebx, ebx
je 0x1002b186
mov ecx, dword [ebp - 0x22ec]
mov eax, dword [ecx + 0xc0]
test eax, eax
je 0x1002b0eb
mov esi, dword [eax + 0xd0]
test esi, esi
je 0x1002b0eb
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002b0d1
sub eax, edx
mov edx, dword [ebx]
inc eax
push eax
mov eax, dword [edx + 0x10]
push esi
mov ecx, ebx
call eax
jmp 0x1002b177
mov eax, dword [edi + 8]
lea esi, [ebp - 0x224c]
call fcn.100191f0
mov ecx, esi
push ecx
mov edx, 0x1013899c
mov byte [ebp - 4], 3
call fcn.1001f8c0
test eax, eax
jbe 0x1002b141
push eax
xor ecx, ecx
lea esi, [ebp - 0x2368]
lea edx, [ebp - 0x224c]
call fcn.10016160
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x224c]
mov byte [ebp - 4], 4
call fcn.10009240
mov ecx, esi
mov byte [ebp - 4], 3
call fcn.100093d0
cmp dword [ebp - 0x2234], 0x10
mov eax, dword [ebp - 0x2248]
jae 0x1002b156
lea eax, [ebp - 0x2248]
mov ecx, dword [ebp - 0x2238]
mov edx, dword [ebx]
mov edx, dword [edx + 0x10]
inc ecx
push ecx
push eax
mov ecx, ebx
call edx
lea ecx, [ebp - 0x224c]
mov byte [ebp - 4], 2
call fcn.100093d0
mov eax, dword [ebx]
mov edx, dword [eax + 8]
push 0
push 0
push 0
mov ecx, ebx
call edx
mov byte [ebp - 4], 5
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 0x2270]
mov esi, dword [ecx]
mov byte [ebp - 0x2218], 1
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
lea ebx, [ebp - 0x2228]
push ebx
push eax
mov eax, dword [esi + 0x24]
push edx
mov dword [ebp - 0x2284], 1
call eax
mov dword [ebp - 4], 2
jmp 0x1002b1dc
sub eax, 2
je 0x1002b25e
sub eax, 1
je 0x1002b226
sub eax, 1
jne 0x1002b268
lea ecx, [ebp - 0x2228]
mov byte [ebp - 4], 1
call fcn.100143a0
lea ecx, [ebp - 0x22c0]
push ecx
mov byte [ebp - 4], 0
call fcn.1000b2f0
lea esi, [ebp - 0x22f8]
mov dword [ebp - 4], 0xffffffff
call fcn.1002fd00
mov eax, 4
jmp 0x1002e4e5
lea ecx, [ebp - 0x2228]
mov byte [ebp - 4], 1
call fcn.100143a0
lea edx, [ebp - 0x22c0]
push edx
mov byte [ebp - 4], 0
call fcn.1000b2f0
lea esi, [ebp - 0x22f8]
mov dword [ebp - 4], 0xffffffff
call fcn.1002fd00
xor eax, eax
jmp 0x1002e4e5
or dword [edi + 0xe0], 0x8000
lea ecx, [ebp - 0x2228]
mov byte [ebp - 4], 1
call fcn.100143a0
mov ebx, dword [ebp - 0x22ec]
test dword [edi + 0xe0], 0x8000
je 0x1002b5c7
lea esi, [edi + 0x60]
call fcn.10013a70
cmp dword [ebp - 0x2274], 0
je 0x1002b235
mov ebx, dword [ebp + 0x14]
test ebx, ebx
je 0x1002b235
mov eax, dword [esi + 8]
mov edx, dword [esi + 0x10]
lea eax, [eax + ebx + 1]
cmp eax, edx
ja 0x1002b235
mov ecx, dword [esi + 0xc]
cmp eax, ecx
jbe 0x1002b30c
mov ebx, ecx
test ecx, ecx
jne 0x1002b2c5
mov ebx, 0xa
cmp dword [esi + 0x14], 1
jne 0x1002b2d8
cmp ebx, eax
ja 0x1002b2da
nop
add ebx, ebx
cmp ebx, eax
jbe 0x1002b2d0
jmp 0x1002b2da
mov ebx, eax
cmp ebx, edx
jb 0x1002b2e0
mov ebx, eax
mov eax, dword [esi + 4]
push ebx
test eax, eax
je 0x1002b2f3
push eax
call fcn.10032818
add esp, 8
jmp 0x1002b2fb
call fcn.10030d6c
add esp, 4
test eax, eax
je 0x1002b235
mov dword [esi + 0xc], ebx
mov ebx, dword [ebp + 0x14]
mov dword [esi + 4], eax
mov edx, dword [esi + 4]
mov ecx, dword [ebp - 0x2274]
add edx, dword [esi + 8]
push ebx
push ecx
push edx
call fcn.10037db0
add dword [esi + 8], ebx
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
mov byte [eax + ecx], 0
add esp, 0xc
mov byte [edi + 5], 1
mov dword [ebp - 0x2234], 0xf
mov dword [ebp - 0x2238], 0
mov byte [ebp - 0x2248], 0
mov bl, 7
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x22ec]
mov eax, dword [eax + 0xc0]
test eax, eax
je 0x1002b37e
mov eax, dword [eax + 0xd0]
test eax, eax
je 0x1002b37e
lea ecx, [ebp - 0x224c]
push ecx
mov edx, eax
call fcn.10013040
jmp 0x1002b3de
mov eax, dword [edi + 8]
lea esi, [ebp - 0x2230]
call fcn.100191f0
mov edx, esi
push edx
mov edx, 0x1013899c
mov byte [ebp - 4], 8
call fcn.1001f8c0
test eax, eax
jbe 0x1002b3d0
push eax
xor ecx, ecx
lea esi, [ebp - 0x2330]
lea edx, [ebp - 0x2230]
call fcn.10016160
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x224c]
mov byte [ebp - 4], 9
call fcn.10009240
mov ecx, esi
call fcn.100093d0
lea ecx, [ebp - 0x2230]
mov byte [ebp - 4], bl
call fcn.100093d0
lea esi, [ebp - 0x22a8]
call fcn.10013a70
lea esi, [ebp - 0x22c0]
call fcn.10013a70
cmp dword [ebp - 0x2234], 0x10
mov esi, dword [ebp - 0x2248]
jae 0x1002b409
lea esi, [ebp - 0x2248]
call fcn.10019540
push 0
push esi
lea edx, [eax + 0x208]
lea ecx, [ebp - 0x22c0]
call fcn.1000d1f0
test al, al
jne 0x1002b45d
lea ecx, [ebp - 0x224c]
call fcn.100093d0
lea eax, [ebp - 0x22c0]
push eax
mov byte [ebp - 4], 0
call fcn.1000b2f0
lea esi, [ebp - 0x22f8]
mov dword [ebp - 4], 0xffffffff
call fcn.1002fd00
mov eax, 4
jmp 0x1002e4e5
movzx ecx, byte [edi + 0xc]
push 1
push ecx
lea edx, [edi + 0x10]
xor eax, eax
lea ecx, [ebp - 0x22c0]
call fcn.1002fe50
test al, al
jne 0x1002b4af
lea ecx, [ebp - 0x224c]
call fcn.100093d0
lea edx, [ebp - 0x22c0]
push edx
mov byte [ebp - 4], 0
call fcn.1000b2f0
lea esi, [ebp - 0x22f8]
mov dword [ebp - 4], 0xffffffff
call fcn.1002fd00
mov eax, 4
jmp 0x1002e4e5
mov eax, dword [edi + 0x68]
mov ecx, dword [edi + 0x64]
push eax
mov eax, dword [edi + 0x14]
push ecx
push eax
call fcn.1006d640
add esp, 0xc
test eax, eax
jge 0x1002b4fe
lea ecx, [ebp - 0x224c]
call fcn.100093d0
lea ecx, [ebp - 0x22c0]
push ecx
mov byte [ebp - 4], 0
call fcn.1000b2f0
lea esi, [ebp - 0x22f8]
mov dword [ebp - 4], 0xffffffff
call fcn.1002fd00
mov eax, 4
jmp 0x1002e4e5
mov edx, dword [edi + 0x1c]
push edx
call fcn.100429c0
add esp, 4
test eax, eax
jge 0x1002b520
push eax
mov eax, dword [edi + 0x1c]
push eax
call fcn.10042440
add esp, 8
cmp eax, 2
jne 0x1002b4c7
mov edx, dword [edi + 0x18]
push 0
push 0
push 0xa
push edx
call fcn.1006d8b0
add esp, 0x10
test eax, eax
je 0x1002b586
mov esi, dword [ebp - 0x226c]
lea esp, [esp]
mov ecx, dword [edi + 0x18]
push 0x2000
lea eax, [ebp - 0x2214]
push eax
push ecx
call fcn.1006d580
add esp, 0xc
test eax, eax
jle 0x1002b570
mov ecx, dword [edi + 8]
push eax
lea edx, [ebp - 0x2214]
push edx
push esi
push 1
push edi
call fcn.10017fa0
mov eax, dword [edi + 0x18]
push 0
push 0
push 0xa
push eax
call fcn.1006d8b0
add esp, 0x10
test eax, eax
jne 0x1002b540
lea ecx, [ebp - 0x224c]
mov dword [edi + 0x9c], 2
call fcn.100093d0
lea ecx, [ebp - 0x22c0]
push ecx
mov byte [ebp - 4], 0
call fcn.1000b2f0
lea esi, [ebp - 0x22f8]
mov dword [ebp - 4], 0xffffffff
call fcn.1002fd00
mov eax, 3
jmp 0x1002e4e5
mov esi, dword [ebx]
cmp esi, 0x300
je 0x1002b606
cmp esi, 0x200
je 0x1002b606
xor edx, edx
mov ecx, edi
call fcn.1002a370
test al, al
jne 0x1002b606
mov edx, str.tls1_0
mov ecx, edi
mov byte [edi + 0xc], 1
call fcn.1002a370
xor edx, edx
test al, al
sete dl
lea edx, [edx + edx + 0x301]
mov esi, edx
movzx eax, byte [edi + 0xc]
push 0
lea ebx, [edi + 0x38]
push eax
mov eax, esi
xor ecx, ecx
mov edx, ebx
call fcn.1002fe50
test al, al
jne 0x1002b62a
lea ecx, [ebp - 0x22c0]
jmp 0x1002af13
mov eax, dword [edi + 0xb8]
test eax, eax
jbe 0x1002b648
mov ecx, dword [edi + 0xb4]
mov edx, dword [edi + 0x44]
push eax
push ecx
push edx
call fcn.10040eb0
add esp, 0xc
push 0x1014c398
mov dword [ebp - method.ProtocolFilters::AutoLock.virtual_0], vtable.ProtocolFilters::AutoLock.0
mov dword [ebp - 0x2288], 0x1014c398
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea esi, [edi + 0x44]
mov eax, esi
mov byte [ebp - 4], 0xa
call fcn.1002e5f0
push 0x1014c398
mov dword [eax], edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebx]
push 0x10029370
push eax
call fcn.10042d90
mov ecx, dword [ebp - 0x22ec]
mov eax, dword [ecx + 0xc0]
add esp, 8
test eax, eax
je 0x1002b6bd
mov eax, dword [eax + 0xd0]
test eax, eax
je 0x1002b6bd
push eax
call fcn.1007c880
mov edx, dword [esi]
add esp, 4
mov dword [edx + 0x120], eax
mov dword [ebp - 0x2250], 0xf
mov dword [ebp - 0x2254], 0
mov byte [ebp - 0x2264], 0
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x22ec]
mov eax, dword [eax + 0xc0]
test eax, eax
je 0x1002b759
mov eax, dword [eax + 0xbc]
mov dword [ebp - 0x2270], eax
test eax, eax
je 0x1002b759
xor ebx, ebx
mov edi, edi
mov ecx, dword [ebp - 0x2270]
push ecx
call fcn.10077bf0
add esp, 4
cmp ebx, eax
jge 0x1002b759
mov edx, dword [ebp - 0x2270]
push ebx
push edx
call fcn.10077c00
add esp, 8
test eax, eax
je 0x1002b759
mov esi, dword [eax + 4]
test esi, esi
je 0x1002b759
cmp dword [ebp - 0x2254], 0
je 0x1002b748
lea eax, [ebp - 0x2268]
push eax
mov edx, 0x1013899c
call fcn.10013010
lea ecx, [ebp - 0x2268]
push ecx
mov edx, esi
call fcn.10013010
inc ebx
jmp 0x1002b700
test dword [edi + 0xe0], 0x100
je 0x1002b78c
mov edx, str.tls_ac
mov ecx, edi
call fcn.1002a370
test al, al
jne 0x1002b78c
mov edx, dword [edi + 0x44]
push 0x10139070
push edx
call fcn.100409c0
mov byte [edi + 0xae], 1
jmp 0x1002b7bf
cmp dword [ebp - 0x2254], 0
je 0x1002b7b1
cmp dword [ebp - 0x2250], 0x10
mov eax, dword [ebp - 0x2264]
jae 0x1002b7aa
lea eax, [ebp - 0x2264]
push eax
mov eax, dword [edi + 0x44]
push eax
jmp 0x1002b7ba
mov ecx, dword [edi + 0x44]
push str.AES:RC4:SEED:DES_CBC3_SHA:ALL:_aNULL:_eNULL:_EXP_RC4_MD5
push ecx
call fcn.100409c0
add esp, 8
lea esi, [edi + 0x60]
call fcn.10013a70
cmp dword [ebp - 0x2274], 0
je 0x1002b93b
mov ebx, dword [ebp + 0x14]
test ebx, ebx
je 0x1002b93b
mov edx, dword [esi + 8]
lea eax, [edx + ebx + 1]
mov edx, dword [esi + 0x10]
cmp eax, edx
ja 0x1002b93b
mov ecx, dword [esi + 0xc]
cmp eax, ecx
jbe 0x1002b84c
mov ebx, ecx
test ecx, ecx
jne 0x1002b806
mov ebx, 0xa
cmp dword [esi + 0x14], 1
jne 0x1002b818
cmp ebx, eax
ja 0x1002b81a
add ebx, ebx
cmp ebx, eax
jbe 0x1002b810
jmp 0x1002b81a
mov ebx, eax
cmp ebx, edx
jb 0x1002b820
mov ebx, eax
mov eax, dword [esi + 4]
push ebx
test eax, eax
je 0x1002b833
push eax
call fcn.10032818
add esp, 8
jmp 0x1002b83b
call fcn.10030d6c
add esp, 4
test eax, eax
je 0x1002b93b
mov dword [esi + 0xc], ebx
mov ebx, dword [ebp + 0x14]
mov dword [esi + 4], eax
mov ecx, dword [esi + 8]
mov eax, dword [ebp - 0x2274]
add ecx, dword [esi + 4]
push ebx
push eax
push ecx
call fcn.10037db0
add dword [esi + 8], ebx
mov eax, dword [esi + 8]
mov edx, dword [esi + 4]
mov byte [eax + edx], 0
mov ecx, dword [edi + 0x44]
add esp, 0xc
push ecx
call fcn.100429f0
add esp, 4
test eax, eax
jge 0x1002b896
mov edx, dword [edi + 0x44]
push eax
push edx
call fcn.10042440
add esp, 8
cmp eax, 2
jne 0x1002b93b
mov ecx, dword [edi + 0x40]
push 0
push 0
push 0xa
push ecx
call fcn.1006d8b0
add esp, 0x10
test eax, eax
je 0x1002b8f6
mov esi, dword [ebp + 0xc]
nop
mov eax, dword [edi + 0x40]
push 0x2000
lea edx, [ebp - 0x2214]
push edx
push eax
call fcn.1006d580
add esp, 0xc
test eax, eax
jle 0x1002b8e0
push eax
lea ecx, [ebp - 0x2214]
push ecx
mov ecx, dword [edi + 8]
push esi
push 1
push edi
call fcn.10017fa0
mov edx, dword [edi + 0x40]
push 0
push 0
push 0xa
push edx
call fcn.1006d8b0
add esp, 0x10
test eax, eax
jne 0x1002b8b0
lea ecx, [ebp - 0x2268]
mov dword [edi + 0x9c], 1
mov byte [edi + 5], 1
call fcn.100093d0
lea eax, [ebp - 0x22c0]
push eax
mov byte [ebp - 4], 0
call fcn.1000b2f0
lea esi, [ebp - 0x22f8]
mov dword [ebp - 4], 0xffffffff
call fcn.1002fd00
mov eax, 3
jmp 0x1002e4e5
lea ecx, [ebp - 0x2268]
call fcn.100093d0
lea eax, [ebp - 0x22c0]
push eax
jmp 0x1002af14
mov ebx, dword [ebp + 0x14]
test ebx, ebx
jne 0x1002b9f0
test dword [edi + 0xe0], 0x100
je 0x1002b98f
mov edx, str.tls_ac
mov ecx, edi
call fcn.1002a370
test al, al
jne 0x1002b98f
mov ebx, str.tls_ac
mov ecx, edi
call fcn.1002a230
mov eax, 4
jmp 0x1002e4e5
cmp byte [edi + 0xc], 0
je 0x1002b9e6
mov ecx, dword [edi + 0x44]
cmp dword [ecx], 0x300
jle 0x1002b9e6
mov edx, str.tls1_0
mov ecx, edi
call fcn.1002a370
test al, al
je 0x1002b9c1
mov ecx, edi
call fcn.1002a130
mov eax, 4
jmp 0x1002e4e5
cmp byte [edi + 0xae], 0
jne 0x1002b9e6
mov edx, str.tls1_0
mov ecx, edi
call fcn.1002a370
test al, al
jne 0x1002b9e6
mov ebx, str.tls1_0
mov ecx, edi
call fcn.1002a230
mov eax, 4
jmp 0x1002e4e5
cmp byte [edi + 0xa0], 0
je 0x1002ba01
mov dword [ebp - 0x226c], esi
mov esi, eax
cmp esi, 1
jne 0x1002baa7
test edx, edx
je 0x1002ad0b
mov edx, dword [edi + 0x68]
mov ecx, dword [edi + 0x70]
lea eax, [edx + ebx + 1]
cmp eax, ecx
ja 0x1002ad0b
mov esi, dword [edi + 0x6c]
cmp eax, esi
jbe 0x1002ba79
test esi, esi
jne 0x1002ba34
mov esi, 0xa
cmp dword [edi + 0x74], 1
jne 0x1002ba48
cmp esi, eax
ja 0x1002ba4a
mov edi, edi
add esi, esi
cmp esi, eax
jbe 0x1002ba40
jmp 0x1002ba4a
mov esi, eax
cmp esi, ecx
jb 0x1002ba50
mov esi, eax
mov eax, dword [edi + 0x64]
push esi
test eax, eax
je 0x1002ba63
push eax
call fcn.10032818
add esp, 8
jmp 0x1002ba6b
call fcn.10030d6c
add esp, 4
test eax, eax
je 0x1002ad0b
mov dword [edi + 0x6c], esi
mov dword [edi + 0x64], eax
mov ecx, dword [edi + 0x64]
mov eax, dword [ebp - 0x2274]
add ecx, dword [edi + 0x68]
push ebx
push eax
push ecx
call fcn.10037db0
mov edx, dword [edi + 0x64]
add esp, 0xc
add dword [edi + 0x68], ebx
mov eax, dword [edi + 0x68]
mov byte [eax + edx], 0
mov eax, 3
jmp 0x1002e4e5
mov eax, dword [edi + 0x44]
push eax
call fcn.10041bd0
add esp, 4
cmp eax, 3
je 0x1002c6d3
mov ecx, dword [ebp - 0x2274]
mov edx, dword [edi + 0x3c]
push ebx
push ecx
push edx
call fcn.1006d640
mov eax, dword [edi + 0x44]
push eax
call fcn.100429f0
mov esi, eax
add esp, 0x10
test esi, esi
jge 0x1002bb62
mov ecx, dword [edi + 0x44]
push esi
push ecx
call fcn.10042440
add esp, 8
cmp eax, 2
je 0x1002bb60
cmp eax, 4
je 0x1002bb60
call fcn.10073ec0
and eax, 0xfff
cmp eax, 0x174
jne 0x1002bb1e
push 1
mov ecx, edi
call fcn.10029cb0
mov eax, 4
jmp 0x1002e4e5
cmp byte [edi + 0xc], 0
je 0x1002bb56
mov edx, dword [edi + 0x44]
mov eax, dword [edx]
cmp eax, 0x300
je 0x1002bb4d
cmp eax, 0x200
je 0x1002bb4d
mov ebx, str.tls1_0
mov ecx, edi
call fcn.1002a230
mov eax, 4
jmp 0x1002e4e5
xor ebx, ebx
mov ecx, edi
call fcn.1002a230
mov eax, 4
jmp 0x1002e4e5
test esi, esi
jne 0x1002bb79
mov eax, dword [edi + 0x44]
push eax
call fcn.10042000
add esp, 4
push 1
mov ecx, edi
call fcn.10029cb0
mov ecx, dword [edi + 0x40]
push 0
push 0
push 0xa
push ecx
call fcn.1006d8b0
add esp, 0x10
test eax, eax
je 0x1002bbe6
mov esi, dword [ebp - 0x226c]
jmp 0x1002bba0
mov eax, dword [edi + 0x40]
push 0x2000
lea edx, [ebp - 0x2214]
push edx
push eax
call fcn.1006d580
add esp, 0xc
test eax, eax
jle 0x1002bbd0
push eax
lea ecx, [ebp - 0x2214]
push ecx
mov ecx, dword [edi + 8]
push esi
push 1
push edi
call fcn.10017fa0
mov edx, dword [edi + 0x40]
push 0
push 0
push 0xa
push edx
call fcn.1006d8b0
add esp, 0x10
test eax, eax
jne 0x1002bba0
mov eax, dword [edi + 0x44]
push eax
call fcn.10041bd0
add esp, 4
cmp eax, 3
je 0x1002c6d3
cmp byte [edi + 0xac], 0
je 0x1002ad0b
mov ecx, dword [edi + 0x44]
push ecx
call fcn.100402e0
mov esi, eax
add esp, 4
mov dword [ebp - 0x226c], esi
test esi, esi
je 0x1002b21c
mov edx, dword [edi + 0x44]
mov eax, dword [edx + 0x120]
test eax, eax
je 0x1002bc50
push eax
push 0x101387c0
lea eax, [ebp - 0x2214]
push 0x2000
push eax
call fcn.1003258e
add esp, 0x10
jmp 0x1002bd15
push 0x2000
lea ecx, [ebp - 0x2214]
push ecx
push 0xd
push esi
call fcn.100760a0
add esp, 4
push eax
call fcn.10076cd0
add esp, 0x10
cmp eax, 0xffffffff
jne 0x1002bd15
mov eax, dword [edi + 8]
lea esi, [ebp - 0x2268]
call fcn.100191f0
mov edx, esi
push edx
mov edx, 0x1013899c
mov dword [ebp - 4], 0xc
call fcn.1001f8c0
test eax, eax
jbe 0x1002bcce
push eax
xor ecx, ecx
lea esi, [ebp - 0x2314]
lea edx, [ebp - 0x2268]
call fcn.10016160
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x2268]
mov byte [ebp - 4], 0xd
call fcn.10009240
mov ecx, esi
call fcn.100093d0
cmp dword [ebp - 0x2250], 0x10
mov eax, dword [ebp - 0x2264]
jae 0x1002bce3
lea eax, [ebp - 0x2264]
push eax
push 0x101387c0
lea eax, [ebp - 0x2214]
push 0x2000
push eax
call fcn.1003258e
add esp, 0x10
lea ecx, [ebp - 0x2268]
mov dword [ebp - 4], 0xffffffff
call fcn.100093d0
mov esi, dword [ebp - 0x226c]
push 0xff
lea ecx, [ebp - 0x213]
push 0
push ecx
mov byte [ebp - 0x214], 0
call fcn.10036e20
push 0xff
lea edx, [ebp - 0x113]
push 0
push edx
mov byte [ebp - 0x114], 0
call fcn.10036e20
add esp, 0x18
push pe_nt_image_headers32
lea eax, [ebp - 0x214]
push eax
push 0xd
push esi
call fcn.100760a0
add esp, 4
push eax
call fcn.10076cd0
add esp, 0x10
cmp eax, 0xffffffff
je 0x1002bdb7
push pe_nt_image_headers32
lea ecx, [ebp - 0x114]
push ecx
push 0xd
push esi
call fcn.10076090
add esp, 4
push eax
call fcn.10076cd0
add esp, 0x10
cmp eax, 0xffffffff
je 0x1002bdb7
lea edx, [ebp - 0x114]
push edx
lea eax, [ebp - 0x214]
push eax
call fcn.1003e6c1
add esp, 8
test eax, eax
jne 0x1002bdb7
or dword [edi + 0xe0], 0x20
test dword [edi + 0xe0], 0x800
je 0x1002c025
mov eax, dword [edi + 8]
call fcn.100179d0
mov ebx, eax
mov dword [ebp - 0x2270], ebx
test ebx, ebx
je 0x1002c025
push 3
lea ecx, [ebp - 0x2228]
push ecx
mov dl, 1
mov ecx, 0x68
call fcn.100142a0
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0x221c], 0
jle 0x1002bec7
mov edx, dword [ebp - 0x2220]
cmp dword [edx], 0
jne 0x1002be20
call fcn.10013e10
mov ecx, dword [ebp - 0x2220]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2220]
mov ebx, dword [edx]
test ebx, ebx
je 0x1002bec1
lea eax, [ebp - 0x2248]
call fcn.100137a0
mov eax, dword [ebp - 0x226c]
push 0
push eax
mov byte [ebp - 4], 0xf
call fcn.1006d340
add esp, 8
lea esi, [ebp - 0x2248]
mov dword [ebp - 0x2274], eax
call fcn.10013a70
mov eax, dword [ebp - 0x2274]
call fcn.10013aa0
test al, al
je 0x1002beb2
mov edx, dword [ebp - 0x226c]
mov esi, dword [ebp - 0x2244]
lea ecx, [ebp - 0x2274]
push ecx
push edx
mov dword [ebp - 0x2274], esi
call fcn.1006d340
mov ecx, dword [ebp - 0x2240]
mov eax, dword [ebx]
mov edx, dword [eax + 0x10]
add esp, 8
push ecx
push esi
mov ecx, ebx
call edx
mov eax, dword [ebx]
mov edx, dword [eax + 8]
push 0
push 0
push 0
mov ecx, ebx
call edx
lea ecx, [ebp - 0x2248]
mov byte [ebp - 4], 0xe
call fcn.10013810
mov ebx, dword [ebp - 0x2270]
cmp dword [ebp - 0x221c], 1
jle 0x1002bf3a
mov eax, dword [ebp - 0x2220]
cmp dword [eax + 4], 0
jne 0x1002beea
call fcn.10013e10
mov ecx, dword [ebp - 0x2220]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x2220]
mov esi, dword [edx + 4]
test esi, esi
je 0x1002bf3a
cmp byte [ebp - 0x214], 0
je 0x1002bf3a
lea eax, [ebp - 0x214]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002bf10
sub eax, edx
mov edx, dword [esi]
mov edx, dword [edx + 0x10]
inc eax
push eax
lea eax, [ebp - 0x214]
push eax
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
push 0
push 0
mov ecx, esi
call edx
cmp dword [ebp - 0x221c], 2
jle 0x1002bfaa
mov eax, dword [ebp - 0x2220]
cmp dword [eax + 8], 0
jne 0x1002bf5d
call fcn.10013e10
mov ecx, dword [ebp - 0x2220]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0x2220]
mov esi, dword [edx + 8]
test esi, esi
je 0x1002bfaa
cmp byte [ebp - 0x114], 0
je 0x1002bfaa
lea eax, [ebp - 0x114]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002bf80
sub eax, edx
mov edx, dword [esi]
mov edx, dword [edx + 0x10]
inc eax
push eax
lea eax, [ebp - 0x114]
push eax
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
push 0
push 0
mov ecx, esi
call edx
mov byte [ebp - 4], 0x10
mov eax, dword [edi + 8]
mov edx, dword [ebx]
mov byte [ebp - 0x2218], 1
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
lea esi, [ebp - 0x2228]
push esi
push eax
mov eax, dword [edx + 0x24]
push ecx
mov ecx, ebx
mov dword [ebp - 0x2270], 1
call eax
mov dword [ebp - 4], 0xe
jmp 0x1002bffc
or esi, 0xffffffff
sub eax, 3
je 0x1002c1a4
sub eax, 1
je 0x1002c19b
lea ecx, [ebp - 0x2228]
mov dword [ebp - 4], esi
call fcn.100143a0
mov esi, dword [ebp - 0x226c]
lea eax, [ebp - 0x22c0]
call fcn.10009510
mov dword [ebp - 4], 0x12
test dword [edi + 0xe0], 0x200
je 0x1002c362
push 0
call fcn.10032148
mov ebx, eax
add esp, 4
mov dword [ebp - 0x228c], ebx
mov dword [ebp - 0x2288], edx
mov byte [ebp - 0x2270], 1
call fcn.10019540
lea ecx, [ebp - 0x2214]
push ecx
mov ecx, dword [ebp - 0x226c]
lea esi, [eax + 0x208]
lea edx, [ebp - 0x227c]
call fcn.1000e240
test al, al
je 0x1002c0b0
mov edx, dword [ebp - 0x2288]
mov eax, ebx
sub eax, dword [ebp - 0x227c]
sbb edx, dword [ebp - 0x2278]
mov dword [ebp - 0x2278], edx
jne 0x1002c0b0
cmp eax, 0x15180
jbe 0x1002c0b7
mov byte [ebp - 0x2270], 0
lea eax, [ebp - 0x2248]
push eax
call fcn.10007d30
mov byte [ebp - 4], 0x13
mov ecx, dword [edi + 0x44]
push ecx
call fcn.10040320
add esp, 4
mov dword [ebp - 0x2274], eax
test eax, eax
je 0x1002c1d4
xor ebx, ebx
mov edx, dword [ebp - 0x2274]
push edx
call fcn.10077bf0
add esp, 4
cmp ebx, eax
jge 0x1002c1d4
lea eax, [ebp - 0x222c]
push eax
call fcn.10007d30
push 0
mov byte [ebp - 4], 0x14
mov esi, dword [ebp - 0x2274]
push ebx
push esi
call fcn.10077c00
add esp, 8
push eax
call fcn.1006d340
add esp, 8
test eax, eax
jle 0x1002c186
push eax
lea eax, [ebp - 0x222c]
call fcn.1002ec50
mov ecx, dword [ebp - 0x221c]
sub ecx, dword [ebp - 0x2220]
jne 0x1002c148
call fcn.10031672
mov edx, dword [ebp - 0x2220]
lea eax, [ebp - 0x2278]
push eax
push ebx
push esi
mov dword [ebp - 0x2278], edx
call fcn.10077c00
add esp, 8
push eax
call fcn.1006d340
add esp, 8
lea ecx, [ebp - 0x222c]
push ecx
lea edi, [ebp - 0x2248]
call fcn.1002e550
mov edi, dword [ebp - 0x2280]
lea esi, [ebp - 0x222c]
mov byte [ebp - 4], 0x13
call fcn.10007d90
inc ebx
jmp 0x1002c0e3
mov ecx, dword [ebp - 0x226c]
push ecx
jmp 0x1002c1b4
push 0
mov ecx, edi
call fcn.10029cb0
mov edx, dword [ebp - 0x226c]
push edx
call fcn.1006d370
add esp, 4
lea ecx, [ebp - 0x2228]
mov dword [ebp - 4], esi
call fcn.100143a0
mov eax, 4
jmp 0x1002e4e5
cmp byte [ebp - 0x2270], 0
jne 0x1002c208
call fcn.10019540
mov edx, dword [ebp - 0x2288]
mov ecx, dword [ebp - 0x228c]
push edx
push ecx
mov ecx, dword [ebp - 0x226c]
lea edx, [ebp - 0x2214]
push edx
lea edx, [eax + 0x208]
call fcn.1000e400
call fcn.10019540
mov ecx, dword [ebp - 0x2270]
push ecx
mov ecx, dword [ebp - 0x226c]
lea edx, [ebp - 0x2214]
push edx
add eax, 0x208
push eax
lea edx, [ebp - 0x2248]
call fcn.1000e910
test eax, eax
je 0x1002c34d
mov eax, dword [edi + 8]
call fcn.100179d0
mov ebx, eax
mov dword [ebp - 0x2278], ebx
test ebx, ebx
je 0x1002c34d
push 1
lea eax, [ebp - 0x2228]
push eax
mov dl, 1
mov ecx, 0x67
call fcn.100142a0
mov byte [ebp - 4], 0x15
cmp dword [ebp - 0x221c], 0
jle 0x1002c2da
mov ecx, dword [ebp - 0x2220]
cmp dword [ecx], 0
jne 0x1002c28c
call fcn.10013e10
mov edx, dword [ebp - 0x2220]
mov dword [edx], eax
mov eax, dword [ebp - 0x2220]
mov esi, dword [eax]
test esi, esi
je 0x1002c2da
mov ecx, dword [ebp - 0x226c]
mov edx, dword [ecx + 0x14]
test edx, edx
je 0x1002c2da
mov eax, edx
lea ebx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002c2b0
sub eax, ebx
mov ebx, dword [esi]
inc eax
push eax
push edx
mov edx, dword [ebx + 0x10]
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
push 0
push 0
mov ecx, esi
call edx
mov ebx, dword [ebp - 0x2278]
mov byte [ebp - 4], 0x16
mov eax, dword [edi + 8]
mov edx, dword [ebx]
mov byte [ebp - 0x2218], 1
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
lea esi, [ebp - 0x2228]
push esi
push eax
mov eax, dword [edx + 0x24]
push ecx
mov ecx, ebx
mov dword [ebp - 0x2278], 1
call eax
mov dword [ebp - 4], 0x15
jmp 0x1002c32c
sub eax, 3
je 0x1002c406
sub eax, 1
je 0x1002c3c0
lea ecx, [ebp - 0x2228]
mov byte [ebp - 4], 0x13
call fcn.100143a0
lea esi, [ebp - 0x2248]
mov byte [ebp - 4], 0x12
call fcn.1000f190
mov esi, dword [ebp - 0x226c]
test byte [edi + 0xe0], 0x20
je 0x1002c455
call fcn.10019540
push 0
push 1
lea edx, [ebp - 0x2214]
push edx
lea ebx, [eax + 0x208]
lea edx, [ebp - 0x22c0]
mov ecx, esi
call fcn.1000d060
test al, al
jne 0x1002c485
push esi
call fcn.1006d370
add esp, 4
lea eax, [ebp - 0x22c0]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.1000b2f0
mov eax, 4
jmp 0x1002e4e5
mov ecx, dword [ebp - 0x226c]
push ecx
call fcn.1006d370
add esp, 4
lea ecx, [ebp - 0x2228]
mov byte [ebp - 4], 0x13
call fcn.100143a0
lea esi, [ebp - 0x2248]
call fcn.1000f190
lea edx, [ebp - 0x22c0]
push edx
mov dword [ebp - 4], 0xffffffff
call fcn.1000b2f0
mov eax, 4
jmp 0x1002e4e5
push 0
mov ecx, edi
call fcn.10029cb0
mov eax, dword [ebp - 0x226c]
push eax
call fcn.1006d370
mov byte [ebp - 4], 0x13
add esp, 4
lea ecx, [ebp - 0x2228]
call fcn.100143a0
lea esi, [ebp - 0x2248]
call fcn.1000f190
lea ecx, [ebp - 0x22c0]
push ecx
mov dword [ebp - 4], 0xffffffff
call fcn.1000b2f0
mov eax, 4
jmp 0x1002e4e5
call fcn.10019540
push esi
lea ecx, [ebp - 0x2214]
push ecx
lea edx, [eax + 0x208]
lea ecx, [ebp - 0x22c0]
call fcn.1000d1f0
test al, al
jne 0x1002c485
push esi
call fcn.1006d370
add esp, 4
jmp 0x1002c3e9
push esi
call fcn.1006d370
movzx eax, byte [edi + 0xc]
add esp, 4
push 1
push eax
lea edx, [edi + 0x10]
xor eax, eax
lea ecx, [ebp - 0x22c0]
call fcn.1002fe50
test al, al
je 0x1002c438
test dword [edi + 0xe0], 0x2000
je 0x1002c5ca
mov ecx, dword [edi + 0x44]
lea edx, [ebp - 0x2270]
push edx
lea eax, [ebp - 0x2278]
push eax
push ecx
mov dword [ebp - 0x2270], 0
call fcn.10040f30
add esp, 0xc
cmp dword [ebp - 0x2270], 0
jbe 0x1002c5af
lea esi, [edi + 0xc8]
call fcn.10013a70
mov ecx, dword [ebp - 0x2270]
mov eax, dword [ebp - 0x2278]
mov ebx, ecx
mov dword [ebp - 0x2280], ebx
mov dword [ebp - 0x226c], eax
test eax, eax
je 0x1002c5af
test ecx, ecx
je 0x1002c5af
mov edx, dword [esi + 8]
lea eax, [edx + ecx + 1]
mov edx, dword [esi + 0x10]
cmp eax, edx
ja 0x1002c5af
mov ecx, dword [esi + 0xc]
cmp eax, ecx
jbe 0x1002c58b
mov ebx, ecx
test ecx, ecx
jne 0x1002c543
mov ebx, 0xa
cmp dword [esi + 0x14], 1
jne 0x1002c558
cmp ebx, eax
ja 0x1002c55a
lea ecx, [ecx]
add ebx, ebx
cmp ebx, eax
jbe 0x1002c550
jmp 0x1002c55a
mov ebx, eax
cmp ebx, edx
jb 0x1002c560
mov ebx, eax
mov eax, dword [esi + 4]
push ebx
test eax, eax
je 0x1002c573
push eax
call fcn.10032818
add esp, 8
jmp 0x1002c57b
call fcn.10030d6c
add esp, 4
test eax, eax
je 0x1002c5af
mov dword [esi + 0xc], ebx
mov ebx, dword [ebp - 0x2280]
mov dword [esi + 4], eax
mov ecx, dword [esi + 8]
mov eax, dword [ebp - 0x226c]
add ecx, dword [esi + 4]
push ebx
push eax
push ecx
call fcn.10037db0
mov edx, dword [esi + 4]
add esp, 0xc
add dword [esi + 8], ebx
mov eax, dword [esi + 8]
mov byte [eax + edx], 0
cmp dword [edi + 0xd0], 0
jbe 0x1002c5ca
mov eax, dword [edi + 0x10]
push edi
push 0x1002ac00
push eax
call fcn.10040f10
add esp, 0xc
test dword [edi + 0xe0], 0x100
je 0x1002c5ee
mov ecx, dword [edi + 0x1c]
push 0x10139070
push ecx
call fcn.100409c0
add esp, 8
mov byte [edi + 0xae], 1
mov eax, dword [edi + 0x68]
mov ecx, dword [edi + 0x64]
mov edx, dword [edi + 0x14]
push eax
push ecx
push edx
call fcn.1006d640
add esp, 0xc
test eax, eax
jge 0x1002c612
lea eax, [ebp - 0x22c0]
push eax
jmp 0x1002c3f0
mov ecx, dword [edi + 0x1c]
push method.ProtocolFilters::ProxyFilter.virtual_24
push 1
push ecx
call fcn.100402c0
mov edx, dword [edi + 0x1c]
push edx
call fcn.100429c0
add esp, 0x10
test eax, eax
jge 0x1002c648
push eax
mov eax, dword [edi + 0x1c]
push eax
call fcn.10042440
add esp, 8
cmp eax, 2
jne 0x1002c438
mov edx, dword [edi + 0x18]
push 0
push 0
push 0xa
push edx
mov dword [edi + 0x9c], 5
call fcn.1006d8b0
add esp, 0x10
test eax, eax
je 0x1002c6b6
mov esi, dword [ebp - 0x2284]
mov edi, edi
mov ecx, dword [edi + 0x18]
push 0x2000
lea eax, [ebp - 0x2214]
push eax
push ecx
call fcn.1006d580
add esp, 0xc
test eax, eax
jle 0x1002c6a0
mov ecx, dword [edi + 8]
push eax
lea edx, [ebp - 0x2214]
push edx
push esi
push 1
push edi
call fcn.10017fa0
mov eax, dword [edi + 0x18]
push 0
push 0
push 0xa
push eax
call fcn.1006d8b0
add esp, 0x10
test eax, eax
jne 0x1002c670
lea ecx, [ebp - 0x22c0]
push ecx
mov dword [ebp - 4], 0xffffffff
call fcn.1000b2f0
mov eax, 3
jmp 0x1002e4e5
mov edx, dword [edi + 0x44]
push edx
call fcn.100402e0
mov esi, eax
add esp, 4
mov dword [ebp - 0x226c], esi
test esi, esi
je 0x1002b21c
mov eax, dword [edi + 0x44]
mov eax, dword [eax + 0x120]
test eax, eax
je 0x1002c71b
push eax
push 0x101387c0
lea ecx, [ebp - 0x2214]
push 0x2000
push ecx
call fcn.1003258e
add esp, 0x10
jmp 0x1002c7e0
push 0x2000
lea edx, [ebp - 0x2214]
push edx
push 0xd
push esi
call fcn.100760a0
add esp, 4
push eax
call fcn.10076cd0
add esp, 0x10
cmp eax, 0xffffffff
jne 0x1002c7e0
mov eax, dword [edi + 8]
lea esi, [ebp - 0x2268]
call fcn.100191f0
mov eax, esi
push eax
mov edx, 0x1013899c
mov dword [ebp - 4], 0x18
call fcn.1001f8c0
test eax, eax
jbe 0x1002c799
push eax
xor ecx, ecx
lea esi, [ebp - 0x234c]
lea edx, [ebp - 0x2268]
call fcn.10016160
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x2268]
mov byte [ebp - 4], 0x19
call fcn.10009240
mov ecx, esi
call fcn.100093d0
cmp dword [ebp - 0x2250], 0x10
mov eax, dword [ebp - 0x2264]
jae 0x1002c7ae
lea eax, [ebp - 0x2264]
push eax
push 0x101387c0
lea ecx, [ebp - 0x2214]
push 0x2000
push ecx
call fcn.1003258e
add esp, 0x10
lea ecx, [ebp - 0x2268]
mov dword [ebp - 4], 0xffffffff
call fcn.100093d0
mov esi, dword [ebp - 0x226c]
push 0xff
lea edx, [ebp - 0x113]
push 0
push edx
mov byte [ebp - 0x114], 0
call fcn.10036e20
push 0xff
lea eax, [ebp - 0x213]
push 0
push eax
mov byte [ebp - 0x214], 0
call fcn.10036e20
add esp, 0x18
push pe_nt_image_headers32
lea ecx, [ebp - 0x114]
push ecx
push 0xd
push esi
call fcn.100760a0
add esp, 4
push eax
call fcn.10076cd0
add esp, 0x10
cmp eax, 0xffffffff
je 0x1002c882
push pe_nt_image_headers32
lea edx, [ebp - 0x214]
push edx
push 0xd
push esi
call fcn.10076090
add esp, 4
push eax
call fcn.10076cd0
add esp, 0x10
cmp eax, 0xffffffff
je 0x1002c882
lea eax, [ebp - 0x214]
push eax
lea ecx, [ebp - 0x114]
push ecx
call fcn.1003e6c1
add esp, 8
test eax, eax
jne 0x1002c882
or dword [edi + 0xe0], 0x20
test dword [edi + 0xe0], 0x800
je 0x1002cae5
mov eax, dword [edi + 8]
call fcn.100179d0
mov ebx, eax
mov dword [ebp - 0x2270], ebx
test ebx, ebx
je 0x1002cae5
lea edx, [ebp - 0x2228]
push 3
push edx
mov dl, 1
mov ecx, 0x68
call fcn.100142a0
mov dword [ebp - 4], 0x1a
cmp dword [ebp - 0x221c], 0
jle 0x1002c992
mov eax, dword [ebp - 0x2220]
cmp dword [eax], 0
jne 0x1002c8eb
call fcn.10013e10
mov ecx, dword [ebp - 0x2220]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2220]
mov ebx, dword [edx]
test ebx, ebx
je 0x1002c98c
lea eax, [ebp - 0x2248]
call fcn.100137a0
mov eax, dword [ebp - 0x226c]
push 0
push eax
mov byte [ebp - 4], 0x1b
call fcn.1006d340
add esp, 8
lea esi, [ebp - 0x2248]
mov dword [ebp - 0x2278], eax
call fcn.10013a70
mov eax, dword [ebp - 0x2278]
call fcn.10013aa0
test al, al
je 0x1002c97d
mov edx, dword [ebp - 0x226c]
mov esi, dword [ebp - 0x2244]
lea ecx, [ebp - 0x2278]
push ecx
push edx
mov dword [ebp - 0x2278], esi
call fcn.1006d340
mov ecx, dword [ebp - 0x2240]
mov eax, dword [ebx]
mov edx, dword [eax + 0x10]
add esp, 8
push ecx
push esi
mov ecx, ebx
call edx
mov eax, dword [ebx]
mov edx, dword [eax + 8]
push 0
push 0
push 0
mov ecx, ebx
call edx
lea ecx, [ebp - 0x2248]
mov byte [ebp - 4], 0x1a
call fcn.10013810
mov ebx, dword [ebp - 0x2270]
cmp dword [ebp - 0x221c], 1
jle 0x1002c9fe
mov eax, dword [ebp - 0x2220]
cmp dword [eax + 4], 0
jne 0x1002c9b5
call fcn.10013e10
mov ecx, dword [ebp - 0x2220]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x2220]
mov esi, dword [edx + 4]
test esi, esi
je 0x1002c9fe
cmp byte [ebp - 0x114], 0
je 0x1002c9fe
lea eax, [ebp - 0x114]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002c9d4
sub eax, edx
mov edx, dword [esi]
mov edx, dword [edx + 0x10]
inc eax
push eax
lea eax, [ebp - 0x114]
push eax
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
push 0
push 0
mov ecx, esi
call edx
cmp dword [ebp - 0x221c], 2
jle 0x1002ca6a
mov eax, dword [ebp - 0x2220]
cmp dword [eax + 8], 0
jne 0x1002ca21
call fcn.10013e10
mov ecx, dword [ebp - 0x2220]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0x2220]
mov esi, dword [edx + 8]
test esi, esi
je 0x1002ca6a
cmp byte [ebp - 0x214], 0
je 0x1002ca6a
lea eax, [ebp - 0x214]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002ca40
sub eax, edx
mov edx, dword [esi]
mov edx, dword [edx + 0x10]
inc eax
push eax
lea eax, [ebp - 0x214]
push eax
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
push 0
push 0
mov ecx, esi
call edx
mov byte [ebp - 4], 0x1c
mov eax, dword [edi + 8]
mov edx, dword [ebx]
mov byte [ebp - 0x2218], 1
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
lea esi, [ebp - 0x2228]
push esi
push eax
mov eax, dword [edx + 0x24]
push ecx
mov ecx, ebx
mov dword [ebp - 0x2278], 1
call eax
mov dword [ebp - 4], 0x1a
jmp 0x1002cabc
or esi, 0xffffffff
sub eax, 3
je 0x1002c1a4
sub eax, 1
je 0x1002c19b
lea ecx, [ebp - 0x2228]
mov dword [ebp - 4], esi
call fcn.100143a0
mov esi, dword [ebp - 0x226c]
lea eax, [ebp - 0x22c0]
call fcn.10009510
mov dword [ebp - 4], 0x1e
test dword [edi + 0xe0], 0x200
je 0x1002cddf
push 0
call fcn.10032148
mov ebx, eax
add esp, 4
mov dword [ebp - 0x228c], ebx
mov dword [ebp - 0x2288], edx
mov byte [ebp - 0x2270], 1
call fcn.10019540
lea ecx, [ebp - 0x2214]
push ecx
mov ecx, dword [ebp - 0x226c]
lea esi, [eax + 0x208]
lea edx, [ebp - 0x227c]
call fcn.1000e240
test al, al
je 0x1002cb70
mov edx, dword [ebp - 0x2288]
mov eax, ebx
sub eax, dword [ebp - 0x227c]
sbb edx, dword [ebp - 0x2278]
mov dword [ebp - 0x2278], edx
jne 0x1002cb70
cmp eax, 0x15180
jbe 0x1002cb77
mov byte [ebp - 0x2270], 0
lea eax, [ebp - 0x2248]
push eax
call fcn.10007d30
mov byte [ebp - 4], 0x1f
mov ecx, dword [edi + 0x44]
push ecx
call fcn.10040320
add esp, 4
mov dword [ebp - 0x2274], eax
test eax, eax
je 0x1002cc5b
xor ebx, ebx
mov edx, dword [ebp - 0x2274]
push edx
call fcn.10077bf0
add esp, 4
cmp ebx, eax
jge 0x1002cc5b
lea eax, [ebp - 0x222c]
push eax
call fcn.10007d30
push 0
mov byte [ebp - 4], 0x20
mov esi, dword [ebp - 0x2274]
push ebx
push esi
call fcn.10077c00
add esp, 8
push eax
call fcn.1006d340
add esp, 8
test eax, eax
jle 0x1002cc46
push eax
lea eax, [ebp - 0x222c]
call fcn.1002ec50
mov ecx, dword [ebp - 0x221c]
sub ecx, dword [ebp - 0x2220]
jne 0x1002cc08
call fcn.10031672
mov edx, dword [ebp - 0x2220]
lea eax, [ebp - 0x2278]
push eax
push ebx
push esi
mov dword [ebp - 0x2278], edx
call fcn.10077c00
add esp, 8
push eax
call fcn.1006d340
add esp, 8
lea ecx, [ebp - 0x222c]
push ecx
lea edi, [ebp - 0x2248]
call fcn.1002e550
mov edi, dword [ebp - 0x2280]
lea esi, [ebp - 0x222c]
mov byte [ebp - 4], 0x1f
call fcn.10007d90
inc ebx
jmp 0x1002cba3
cmp byte [ebp - 0x2270], 0
jne 0x1002cc8f
call fcn.10019540
mov edx, dword [ebp - 0x2288]
mov ecx, dword [ebp - 0x228c]
push edx
push ecx
mov ecx, dword [ebp - 0x226c]
lea edx, [ebp - 0x2214]
push edx
lea edx, [eax + 0x208]
call fcn.1000e400
call fcn.10019540
mov ecx, dword [ebp - 0x2270]
push ecx
mov ecx, dword [ebp - 0x226c]
lea edx, [ebp - 0x2214]
push edx
add eax, 0x208
push eax
lea edx, [ebp - 0x2248]
call fcn.1000e910
test eax, eax
je 0x1002cdca
mov eax, dword [edi + 8]
call fcn.100179d0
mov ebx, eax
mov dword [ebp - 0x2278], ebx
test ebx, ebx
je 0x1002cdca
push 1
lea eax, [ebp - 0x2228]
push eax
mov dl, 1
mov ecx, 0x67
call fcn.100142a0
mov byte [ebp - 4], 0x21
cmp dword [ebp - 0x221c], 0
jle 0x1002cd5b
mov ecx, dword [ebp - 0x2220]
cmp dword [ecx], 0
jne 0x1002cd13
call fcn.10013e10
mov edx, dword [ebp - 0x2220]
mov dword [edx], eax
mov eax, dword [ebp - 0x2220]
mov esi, dword [eax]
test esi, esi
je 0x1002cd5b
mov ecx, dword [ebp - 0x226c]
mov edx, dword [ecx + 0x14]
test edx, edx
je 0x1002cd5b
mov eax, edx
lea ebx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002cd31
sub eax, ebx
mov ebx, dword [esi]
inc eax
push eax
push edx
mov edx, dword [ebx + 0x10]
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
push 0
push 0
mov ecx, esi
call edx
mov ebx, dword [ebp - 0x2278]
mov byte [ebp - 4], 0x22
mov eax, dword [edi + 8]
mov edx, dword [ebx]
mov byte [ebp - 0x2218], 1
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
lea esi, [ebp - 0x2228]
push esi
push eax
mov eax, dword [edx + 0x24]
push ecx
mov ecx, ebx
mov dword [ebp - 0x2278], 1
call eax
mov dword [ebp - 4], 0x21
jmp 0x1002cdad
sub eax, 3
je 0x1002ce61
sub eax, 1
je 0x1002ce2c
lea ecx, [ebp - 0x2228]
mov byte [ebp - 4], 0x1f
call fcn.100143a0
lea esi, [ebp - 0x2248]
mov byte [ebp - 4], 0x1e
call fcn.1000f190
mov esi, dword [ebp - 0x226c]
test byte [edi + 0xe0], 0x20
je 0x1002ce7f
call fcn.10019540
push 0
push 1
lea edx, [ebp - 0x2214]
push edx
lea ebx, [eax + 0x208]
lea edx, [ebp - 0x22c0]
mov ecx, esi
call fcn.1000d060
test al, al
jne 0x1002ceb6
push esi
call fcn.1006d370
add esp, 4
lea eax, [ebp - 0x22c0]
push eax
jmp 0x1002c43f
mov ecx, dword [ebp - 0x226c]
push ecx
call fcn.1006d370
add esp, 4
lea ecx, [ebp - 0x2228]
mov byte [ebp - 4], 0x1f
call fcn.100143a0
lea esi, [ebp - 0x2248]
call fcn.1000f190
lea edx, [ebp - 0x22c0]
push edx
jmp 0x1002c43f
push 0
mov ecx, edi
call fcn.10029cb0
mov eax, dword [ebp - 0x226c]
push eax
call fcn.1006d370
mov byte [ebp - 4], 0x1f
jmp 0x1002c41f
call fcn.10019540
push esi
lea ecx, [ebp - 0x2214]
push ecx
lea edx, [eax + 0x208]
lea ecx, [ebp - 0x22c0]
call fcn.1000d1f0
test al, al
jne 0x1002ceb6
push esi
call fcn.1006d370
add esp, 4
lea edx, [ebp - 0x22c0]
push edx
jmp 0x1002c43f
push esi
call fcn.1006d370
movzx eax, byte [edi + 0xc]
add esp, 4
push 1
push eax
lea edx, [edi + 0x10]
xor eax, eax
lea ecx, [ebp - 0x22c0]
call fcn.1002fe50
test al, al
je 0x1002c438
test dword [edi + 0xe0], 0x2000
je 0x1002cffc
mov ecx, dword [edi + 0x44]
lea edx, [ebp - 0x2270]
push edx
lea eax, [ebp - 0x2278]
push eax
push ecx
mov dword [ebp - 0x2270], 0
call fcn.10040f30
add esp, 0xc
cmp dword [ebp - 0x2270], 0
jbe 0x1002cfe1
lea esi, [edi + 0xc8]
call fcn.10013a70
mov ecx, dword [ebp - 0x2270]
mov eax, dword [ebp - 0x2278]
mov ebx, ecx
mov dword [ebp - 0x2280], ebx
mov dword [ebp - 0x226c], eax
test eax, eax
je 0x1002cfe1
test ecx, ecx
je 0x1002cfe1
mov edx, dword [esi + 8]
lea eax, [ecx + edx + 1]
mov edx, dword [esi + 0x10]
cmp eax, edx
ja 0x1002cfe1
mov ecx, dword [esi + 0xc]
cmp eax, ecx
jbe 0x1002cfbd
mov ebx, ecx
test ecx, ecx
jne 0x1002cf78
mov ebx, 0xa
cmp dword [esi + 0x14], 1
jne 0x1002cf8a
cmp ebx, eax
ja 0x1002cf8c
add ebx, ebx
cmp ebx, eax
jbe 0x1002cf82
jmp 0x1002cf8c
mov ebx, eax
cmp ebx, edx
jb 0x1002cf92
mov ebx, eax
mov eax, dword [esi + 4]
push ebx
test eax, eax
je 0x1002cfa5
push eax
call fcn.10032818
add esp, 8
jmp 0x1002cfad
call fcn.10030d6c
add esp, 4
test eax, eax
je 0x1002cfe1
mov dword [esi + 0xc], ebx
mov ebx, dword [ebp - 0x2280]
mov dword [esi + 4], eax
mov ecx, dword [esi + 8]
mov eax, dword [ebp - 0x226c]
add ecx, dword [esi + 4]
push ebx
push eax
push ecx
call fcn.10037db0
mov edx, dword [esi + 4]
add esp, 0xc
add dword [esi + 8], ebx
mov eax, dword [esi + 8]
mov byte [eax + edx], 0
cmp dword [edi + 0xd0], 0
jbe 0x1002cffc
mov eax, dword [edi + 0x10]
push edi
push 0x1002ac00
push eax
call fcn.10040f10
add esp, 0xc
mov eax, dword [edi + 0x68]
mov ecx, dword [edi + 0x64]
push eax
push ecx
mov ecx, dword [edi + 0x14]
push ecx
call fcn.1006d640
add esp, 0xc
test eax, eax
jl 0x1002ce55
mov eax, dword [edi + 0x1c]
push eax
call fcn.100429c0
add esp, 4
test eax, eax
jge 0x1002d03e
mov ecx, dword [edi + 0x1c]
push eax
push ecx
call fcn.10042440
add esp, 8
cmp eax, 2
jne 0x1002ce55
mov eax, dword [edi + 0x18]
push 0
push 0
push 0xa
push eax
call fcn.1006d8b0
add esp, 0x10
test eax, eax
je 0x1002d0ac
jmp 0x1002d060
mov edx, dword [edi + 0x18]
push 0x2000
lea ecx, [ebp - 0x2214]
push ecx
push edx
call fcn.1006d580
add esp, 0xc
test eax, eax
jle 0x1002d096
mov ecx, dword [ebp - 0x2284]
push eax
lea eax, [ebp - 0x2214]
push eax
push ecx
mov ecx, dword [edi + 8]
push 1
push edi
call fcn.10017fa0
mov edx, dword [edi + 0x18]
push 0
push 0
push 0xa
push edx
call fcn.1006d8b0
add esp, 0x10
test eax, eax
jne 0x1002d060
lea esi, [edi + 0x38]
call fcn.100299c0
mov ebx, eax
test ebx, ebx
jl 0x1002d18a
je 0x1002d196
jle 0x1002d178
mov eax, dword [edi + 0x4c]
mov dword [ebp - 0x2278], eax
test eax, eax
je 0x1002d178
mov eax, dword [edi + 0x80]
mov ecx, dword [edi + 0x88]
lea eax, [eax + ebx + 1]
cmp eax, ecx
ja 0x1002d178
mov esi, dword [edi + 0x84]
cmp eax, esi
jbe 0x1002d14b
test esi, esi
jne 0x1002d106
mov esi, 0xa
cmp dword [edi + 0x8c], 1
jne 0x1002d11b
cmp esi, eax
ja 0x1002d11d
add esi, esi
cmp esi, eax
jbe 0x1002d113
jmp 0x1002d11d
mov esi, eax
cmp esi, ecx
jb 0x1002d123
mov esi, eax
mov eax, dword [edi + 0x7c]
push esi
test eax, eax
je 0x1002d136
push eax
call fcn.10032818
add esp, 8
jmp 0x1002d13e
call fcn.10030d6c
add esp, 4
test eax, eax
je 0x1002d178
mov dword [edi + 0x84], esi
mov dword [edi + 0x7c], eax
mov edx, dword [edi + 0x80]
mov ecx, dword [ebp - 0x2278]
add edx, dword [edi + 0x7c]
push ebx
push ecx
push edx
call fcn.10037db0
mov ecx, dword [edi + 0x7c]
add esp, 0xc
add dword [edi + 0x80], ebx
mov eax, dword [edi + 0x80]
mov byte [eax + ecx], 0
lea esi, [edi + 0x38]
call fcn.100299c0
mov ebx, eax
test ebx, ebx
jge 0x1002d0be
lea edx, [ebp - 0x22c0]
push edx
jmp 0x1002c43f
lea eax, [ebp - 0x22c0]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.1000b2f0
mov dword [edi + 0x9c], 2
mov eax, 3
jmp 0x1002e4e5
mov ecx, dword [ebp + 0x14]
test ecx, ecx
jne 0x1002d1d2
test esi, esi
jne 0x1002bb0b
inc dword [edi + 0xa4]
cmp byte [edi + 0xa0], bl
je 0x1002d1e2
mov dword [ebp - 0x226c], esi
mov esi, eax
test ecx, ecx
jle 0x1002d325
test esi, esi
jne 0x1002d325
test dword [edi + 0xe0], 0x8000
jne 0x1002ad0b
push ecx
mov ecx, edx
mov edx, dword [edi + 0x3c]
push ecx
push edx
call fcn.1006d640
add esp, 0xc
lea esi, [edi + 0x38]
call fcn.100299c0
mov ebx, eax
test ebx, ebx
jl 0x1002c1ca
je 0x1002d301
jle 0x1002d2e5
mov eax, dword [edi + 0x4c]
mov dword [ebp - 0x2278], eax
test eax, eax
je 0x1002d2e5
mov eax, dword [edi + 0x80]
mov ecx, dword [edi + 0x88]
lea eax, [eax + ebx + 1]
cmp eax, ecx
ja 0x1002d2e5
mov esi, dword [edi + 0x84]
cmp eax, esi
jbe 0x1002d2b8
test esi, esi
jne 0x1002d26c
mov esi, 0xa
cmp dword [edi + 0x8c], 1
jne 0x1002d288
cmp esi, eax
ja 0x1002d28a
lea esp, [esp]
add esi, esi
cmp esi, eax
jbe 0x1002d280
jmp 0x1002d28a
mov esi, eax
cmp esi, ecx
jb 0x1002d290
mov esi, eax
mov eax, dword [edi + 0x7c]
push esi
test eax, eax
je 0x1002d2a3
push eax
call fcn.10032818
add esp, 8
jmp 0x1002d2ab
call fcn.10030d6c
add esp, 4
test eax, eax
je 0x1002d2e5
mov dword [edi + 0x84], esi
mov dword [edi + 0x7c], eax
mov edx, dword [edi + 0x80]
mov ecx, dword [ebp - 0x2278]
add edx, dword [edi + 0x7c]
push ebx
push ecx
push edx
call fcn.10037db0
mov ecx, dword [edi + 0x7c]
add esp, 0xc
add dword [edi + 0x80], ebx
mov eax, dword [edi + 0x80]
mov byte [eax + ecx], 0
lea esi, [edi + 0x38]
call fcn.100299c0
mov ebx, eax
test ebx, ebx
jge 0x1002d224
mov eax, 4
jmp 0x1002e4e5
mov edx, dword [edi + 0x44]
push edx
call fcn.10089c90
add esp, 4
test eax, eax
je 0x1002ad0b
inc dword [edi + 0xa4]
mov eax, 3
jmp 0x1002e4e5
push ecx
mov ecx, dword [edi + 0x14]
mov eax, edx
push eax
push ecx
call fcn.1006d640
mov edx, dword [edi + 0x1c]
push edx
call fcn.10041bd0
add esp, 0x10
cmp eax, 3
je 0x1002d40b
mov eax, dword [edi + 0x1c]
push eax
call fcn.100429c0
mov esi, eax
add esp, 4
test esi, esi
jge 0x1002d371
mov ecx, dword [edi + 0x1c]
push esi
push ecx
call fcn.10042440
add esp, 8
cmp eax, 2
jne 0x1002af2f
test esi, esi
jne 0x1002d388
mov edx, dword [edi + 0x1c]
push edx
call fcn.10042000
add esp, 4
push 1
mov ecx, edi
call fcn.10029cb0
mov eax, dword [edi + 0x18]
push 0
push 0
push 0xa
push eax
call fcn.1006d8b0
add esp, 0x10
test eax, eax
je 0x1002d3f6
mov esi, dword [ebp - 0x226c]
jmp 0x1002d3b0
mov edx, dword [edi + 0x18]
push 0x2000
lea ecx, [ebp - 0x2214]
push ecx
push edx
call fcn.1006d580
add esp, 0xc
test eax, eax
jle 0x1002d3e0
mov ecx, dword [edi + 8]
push eax
lea eax, [ebp - 0x2214]
push eax
push esi
push 1
push edi
call fcn.10017fa0
mov ecx, dword [edi + 0x18]
push 0
push 0
push 0xa
push ecx
call fcn.1006d8b0
add esp, 0x10
test eax, eax
jne 0x1002d3b0
mov edx, dword [edi + 0x1c]
push edx
call fcn.10041bd0
add esp, 4
cmp eax, 3
jne 0x1002ad0b
test dword [edi + 0xe0], 0x8000
mov dword [edi + 0x9c], 3
jne 0x1002d44a
mov eax, dword [edi + 0x80]
test eax, eax
jbe 0x1002d44a
mov ecx, dword [ebp - 0x226c]
push eax
mov eax, dword [edi + 0x7c]
push eax
push ecx
mov ecx, dword [edi + 8]
push 0
push edi
call fcn.10017fa0
lea esi, [edi + 0x78]
call fcn.10013a70
lea ebx, [edi + 0x60]
mov esi, ebx
call fcn.10013a70
lea esi, [edi + 0x10]
call fcn.10029950
mov dword [ebp - 0x2270], eax
test eax, eax
jl 0x1002c1ca
lea ebx, [ebx]
mov ecx, dword [ebp - 0x2270]
test ecx, ecx
je 0x1002d54f
jle 0x1002d52f
cmp dword [edi + 0xa4], 0
jne 0x1002d52f
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x2278], eax
test eax, eax
je 0x1002d52f
mov edx, dword [ebx + 8]
lea eax, [edx + ecx + 1]
mov ecx, dword [ebx + 0x10]
cmp eax, ecx
ja 0x1002d52f
mov esi, dword [ebx + 0xc]
cmp eax, esi
jbe 0x1002d505
test esi, esi
jne 0x1002d4c4
mov esi, 0xa
cmp dword [ebx + 0x14], 1
jne 0x1002d4d8
cmp esi, eax
ja 0x1002d4da
mov edi, edi
add esi, esi
cmp esi, eax
jbe 0x1002d4d0
jmp 0x1002d4da
mov esi, eax
cmp esi, ecx
jb 0x1002d4e0
mov esi, eax
mov eax, dword [ebx + 4]
push esi
test eax, eax
je 0x1002d4f3
push eax
call fcn.10032818
add esp, 8
jmp 0x1002d4fb
call fcn.10030d6c
add esp, 4
test eax, eax
je 0x1002d52f
mov dword [ebx + 0xc], esi
mov dword [ebx + 4], eax
mov esi, dword [ebp - 0x2270]
mov ecx, dword [ebx + 4]
mov eax, dword [ebp - 0x2278]
add ecx, dword [ebx + 8]
push esi
push eax
push ecx
call fcn.10037db0
mov edx, dword [ebx + 4]
add esp, 0xc
add dword [ebx + 8], esi
mov eax, dword [ebx + 8]
mov byte [eax + edx], 0
lea esi, [edi + 0x10]
call fcn.10029950
mov dword [ebp - 0x2270], eax
test eax, eax
jge 0x1002d470
mov eax, 4
jmp 0x1002e4e5
mov eax, dword [edi + 0x68]
test eax, eax
jbe 0x1002d574
mov ecx, dword [ebp - 0x2284]
push eax
mov eax, dword [edi + 0x64]
push eax
push ecx
mov ecx, dword [edi + 8]
push 0
push edi
call fcn.10017fa0
mov esi, ebx
call fcn.10013a70
xor esi, esi
cmp dword [edi + 0xa4], esi
jle 0x1002ad0b
mov ebx, dword [ebp - 0x226c]
mov ecx, dword [edi + 8]
push 0
push 0
push ebx
push 0
push edi
call fcn.10017fa0
inc esi
cmp esi, dword [edi + 0xa4]
jl 0x1002d588
mov eax, 3
jmp 0x1002e4e5
mov ecx, dword [ebp + 0x14]
test ecx, ecx
jne 0x1002d5c0
test esi, esi
jne 0x1002bb0b
inc dword [edi + 0xa4]
cmp byte [edi + 0xa0], bl
je 0x1002d5d3
mov dword [ebp - 0x226c], esi
mov esi, eax
mov dword [ebp + 0xc], esi
test ecx, ecx
jle 0x1002d6d9
test esi, esi
jne 0x1002d6d9
mov eax, dword [edi + 0x3c]
push ecx
push edx
push eax
call fcn.1006d640
add esp, 0xc
lea esi, [edi + 0x38]
call fcn.100299c0
mov ebx, eax
test ebx, ebx
jl 0x1002c1ca
je 0x1002d301
jle 0x1002d6bd
mov eax, dword [edi + 0x4c]
mov dword [ebp - 0x2278], eax
test eax, eax
je 0x1002d6bd
mov ecx, dword [edi + 0x80]
lea eax, [ecx + ebx + 1]
mov ecx, dword [edi + 0x88]
cmp eax, ecx
ja 0x1002d6bd
mov esi, dword [edi + 0x84]
cmp eax, esi
jbe 0x1002d690
test esi, esi
jne 0x1002d64b
mov esi, 0xa
cmp dword [edi + 0x8c], 1
jne 0x1002d660
cmp esi, eax
ja 0x1002d662
add esi, esi
cmp esi, eax
jbe 0x1002d658
jmp 0x1002d662
mov esi, eax
cmp esi, ecx
jb 0x1002d668
mov esi, eax
mov eax, dword [edi + 0x7c]
push esi
test eax, eax
je 0x1002d67b
push eax
call fcn.10032818
add esp, 8
jmp 0x1002d683
call fcn.10030d6c
add esp, 4
test eax, eax
je 0x1002d6bd
mov dword [edi + 0x84], esi
mov dword [edi + 0x7c], eax
mov eax, dword [edi + 0x7c]
mov edx, dword [ebp - 0x2278]
add eax, dword [edi + 0x80]
push ebx
push edx
push eax
call fcn.10037db0
mov ecx, dword [edi + 0x7c]
add esp, 0xc
add dword [edi + 0x80], ebx
mov eax, dword [edi + 0x80]
mov byte [eax + ecx], 0
lea esi, [edi + 0x38]
call fcn.100299c0
mov ebx, eax
test ebx, ebx
jge 0x1002d603
mov eax, 4
jmp 0x1002e4e5
push ecx
mov ecx, dword [edi + 0x14]
mov eax, edx
push eax
push ecx
call fcn.1006d640
mov edx, dword [edi + 0x1c]
push edx
call fcn.10041bd0
add esp, 0x10
cmp eax, 3
je 0x1002d7bb
mov eax, dword [edi + 0x1c]
push eax
call fcn.100429c0
mov ebx, eax
add esp, 4
test ebx, ebx
jge 0x1002d725
mov ecx, dword [edi + 0x1c]
push ebx
push ecx
call fcn.10042440
add esp, 8
cmp eax, 2
jne 0x1002af2f
test ebx, ebx
jne 0x1002d73c
mov edx, dword [edi + 0x1c]
push edx
call fcn.10042000
add esp, 4
push 1
mov ecx, edi
call fcn.10029cb0
mov eax, dword [edi + 0x18]
push 0
push 0
push 0xa
push eax
call fcn.1006d8b0
add esp, 0x10
test eax, eax
je 0x1002d7a6
mov ebx, dword [ebp - 0x226c]
jmp 0x1002d760
mov edx, dword [edi + 0x18]
push 0x2000
lea ecx, [ebp - 0x2214]
push ecx
push edx
call fcn.1006d580
add esp, 0xc
test eax, eax
jle 0x1002d790
mov ecx, dword [edi + 8]
push eax
lea eax, [ebp - 0x2214]
push eax
push ebx
push 1
push edi
call fcn.10017fa0
mov ecx, dword [edi + 0x18]
push 0
push 0
push 0xa
push ecx
call fcn.1006d8b0
add esp, 0x10
test eax, eax
jne 0x1002d760
mov edx, dword [edi + 0x1c]
push edx
call fcn.10041bd0
add esp, 4
cmp eax, 3
jne 0x1002ad0b
cmp byte [edi + 0xac], 0
je 0x1002d996
mov eax, dword [edi + 0x1c]
push eax
call fcn.100402e0
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x1002d8ee
lea eax, [ebp - 0x2248]
call fcn.100137a0
push 0
push ebx
mov dword [ebp - 4], 0x24
call fcn.1006d340
add esp, 8
lea esi, [ebp - 0x2248]
call fcn.10013aa0
test al, al
jne 0x1002d82b
push ebx
call fcn.1006d370
add esp, 4
mov ecx, esi
mov dword [ebp - 4], 0xffffffff
call fcn.10013810
mov eax, 4
jmp 0x1002e4e5
mov esi, dword [ebp - 0x2244]
lea ecx, [ebp - 0x2278]
push ecx
push ebx
mov dword [ebp - 0x2278], esi
call fcn.1006d340
push ebx
call fcn.1006d370
mov ecx, dword [edi + 8]
xor eax, eax
mov dword [ebp - 0x2270], eax
mov dword [ebp - 0x2280], eax
add esp, 0xc
lea eax, [ebp - 0x22d0]
call fcn.10017a00
mov eax, dword [ebp - 0x22cc]
lea ebx, [ebp - 0x228c]
call fcn.1002a590
mov byte [ebp - 4], 0x25
mov edx, dword [ebp - 0x2240]
push edx
push esi
lea ebx, [ebp - 0x2280]
lea ecx, [ebp - 0x2270]
call fcn.1002a990
add esp, 8
test al, al
je 0x1002d8b8
mov eax, dword [ebp - 0x2270]
mov ecx, dword [ebp - 0x2280]
mov dword [edi + 0x90], eax
mov dword [edi + 0x94], ecx
jmp 0x1002d8c1
push 0
mov ecx, edi
call fcn.10029cb0
call dword [sym.imp.ADVAPI32.dll_RevertToSelf]
mov eax, dword [ebp - 0x2288]
cmp eax, 0xffffffff
je 0x1002d8d9
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x2248]
mov dword [ebp - 4], 0xffffffff
call fcn.10013810
mov esi, dword [ebp + 0xc]
mov edx, dword [edi + 0x44]
push edx
call fcn.100429f0
mov ebx, eax
add esp, 4
test ebx, ebx
jge 0x1002d91d
mov eax, dword [edi + 0x44]
push ebx
push eax
call fcn.10042440
add esp, 8
cmp eax, 2
je 0x1002d91b
cmp eax, 4
jne 0x1002b21c
test ebx, ebx
jne 0x1002d934
mov ecx, dword [edi + 0x44]
push ecx
call fcn.10042000
add esp, 4
push 1
mov ecx, edi
call fcn.10029cb0
mov edx, dword [edi + 0x40]
push 0
push 0
push 0xa
push edx
call fcn.1006d8b0
add esp, 0x10
test eax, eax
je 0x1002d996
lea ebx, [ebx]
mov ecx, dword [edi + 0x40]
push 0x2000
lea eax, [ebp - 0x2214]
push eax
push ecx
call fcn.1006d580
add esp, 0xc
test eax, eax
jle 0x1002d980
mov ecx, dword [edi + 8]
push eax
lea edx, [ebp - 0x2214]
push edx
push esi
push 1
push edi
call fcn.10017fa0
mov eax, dword [edi + 0x40]
push 0
push 0
push 0xa
push eax
call fcn.1006d8b0
add esp, 0x10
test eax, eax
jne 0x1002d950
lea esi, [edi + 0x60]
mov byte [edi + 0xac], 0
mov dword [edi + 0x9c], 3
call fcn.10013a70
mov eax, 3
jmp 0x1002e4e5
mov ebx, dword [ebp + 0x14]
test ebx, ebx
jne 0x1002da2d
mov ecx, dword [edi + 8]
push ebx
push ebx
push esi
push ebx
push edi
call fcn.10017fa0
test esi, esi
jne 0x1002d9fc
cmp dword [edi + 0xa4], esi
jne 0x1002ad0b
mov ecx, dword [edi + 8]
push esi
push esi
push esi
push esi
push edi
call fcn.10017fa0
mov dword [edi + 0xa4], 1
lea eax, [ebx + 3]
jmp 0x1002e4e5
cmp dword [edi + 0xa8], 0
jne 0x1002ad0b
mov ecx, dword [edi + 8]
push 0
push 0
push esi
push 0
push edi
call fcn.10017fa0
mov dword [edi + 0xa8], 1
mov eax, 3
jmp 0x1002e4e5
cmp byte [edi + 0xa0], 0
je 0x1002da3e
mov dword [ebp - 0x226c], esi
mov esi, eax
lea eax, [ebp - 0x222c]
call fcn.100137a0
mov dword [ebp - 4], 0x26
test esi, esi
jne 0x1002dfd7
test dword [edi + 0xe0], 0x8000
je 0x1002da99
mov ecx, dword [ebp - 0x2274]
mov edx, dword [ebp - 0x2284]
push ebx
push ecx
mov ecx, dword [edi + 8]
push edx
push esi
push edi
call fcn.10017fa0
lea ecx, [ebp - 0x222c]
mov dword [ebp - 4], 0xffffffff
call fcn.10013810
mov eax, 3
jmp 0x1002e4e5
mov eax, dword [edi + 0x44]
push eax
call fcn.10041bd0
add esp, 4
cmp eax, 3
je 0x1002dbbe
mov ecx, dword [ebp - 0x2274]
mov edx, dword [edi + 0x3c]
push ebx
push ecx
push edx
call fcn.1006d640
mov eax, dword [edi + 0x44]
push eax
call fcn.100429f0
mov esi, eax
add esp, 0x10
test esi, esi
jge 0x1002daee
mov ecx, dword [edi + 0x44]
push esi
push ecx
call fcn.10042440
add esp, 8
cmp eax, 2
je 0x1002daec
cmp eax, 4
jne 0x1002ddeb
test esi, esi
jne 0x1002db05
mov edx, dword [edi + 0x44]
push edx
call fcn.10042000
add esp, 4
push 1
mov ecx, edi
call fcn.10029cb0
mov eax, dword [edi + 0x40]
push 0
push 0
push 0xa
push eax
call fcn.1006d8b0
add esp, 0x10
test eax, eax
je 0x1002db67
mov esi, dword [ebp - 0x226c]
mov edx, dword [edi + 0x40]
push 0x2000
lea ecx, [ebp - 0x2214]
push ecx
push edx
call fcn.1006d580
add esp, 0xc
test eax, eax
jle 0x1002db51
mov ecx, dword [edi + 8]
push eax
lea eax, [ebp - 0x2214]
push eax
push esi
push 1
push edi
call fcn.10017fa0
mov ecx, dword [edi + 0x40]
push 0
push 0
push 0xa
push ecx
call fcn.1006d8b0
add esp, 0x10
test eax, eax
jne 0x1002db21
mov edx, dword [edi + 0x44]
push edx
call fcn.10041bd0
add esp, 4
cmp eax, 3
jne 0x1002da7d
mov eax, dword [edi + 0x68]
test eax, eax
je 0x1002dba2
mov ecx, dword [edi + 0x64]
push eax
mov eax, dword [ebp - 0x226c]
push ecx
push eax
mov ecx, dword [edi + 8]
push 0
push edi
call fcn.10017fa0
lea esi, [edi + 0x60]
call fcn.10013a70
lea ecx, [ebp - 0x222c]
mov dword [ebp - 4], 0xffffffff
call fcn.10013810
mov eax, 3
jmp 0x1002e4e5
mov ebx, dword [edi + 0x80]
test ebx, ebx
je 0x1002dc9c
mov eax, dword [edi + 0x7c]
mov dword [ebp - 0x2278], eax
test eax, eax
je 0x1002dc94
test ebx, ebx
je 0x1002dc94
mov ecx, dword [ebp - 0x2224]
lea eax, [ecx + ebx + 1]
mov ecx, dword [ebp - 0x221c]
cmp eax, ecx
ja 0x1002dc94
mov esi, dword [ebp - 0x2220]
cmp eax, esi
jbe 0x1002dc63
test esi, esi
jne 0x1002dc10
mov esi, 0xa
cmp dword [ebp - 0x2218], 1
jne 0x1002dc28
cmp esi, eax
ja 0x1002dc2a
lea ecx, [ecx]
add esi, esi
cmp esi, eax
jbe 0x1002dc20
jmp 0x1002dc2a
mov esi, eax
cmp esi, ecx
jb 0x1002dc30
mov esi, eax
cmp dword [ebp - 0x2228], 0
push esi
je 0x1002dc4b
mov edx, dword [ebp - 0x2228]
push edx
call fcn.10032818
add esp, 8
jmp 0x1002dc53
call fcn.10030d6c
add esp, 4
test eax, eax
je 0x1002dc94
mov dword [ebp - 0x2220], esi
mov dword [ebp - 0x2228], eax
mov eax, dword [ebp - 0x2278]
mov esi, dword [ebp - 0x2224]
mov ecx, dword [ebp - 0x2228]
push ebx
push eax
add ecx, esi
push ecx
call fcn.10037db0
mov edx, dword [ebp - 0x2228]
add esp, 0xc
add ebx, esi
mov dword [ebp - 0x2224], ebx
mov byte [edx + ebx], 0
lea esi, [edi + 0x78]
call fcn.10013a70
cmp dword [ebp + 0x14], 0
jle 0x1002ddcc
jmp 0x1002dcb0
mov esi, dword [ebp - 0x2270]
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x2274]
mov edx, dword [edi + 0x3c]
sub eax, esi
push eax
add ecx, esi
push ecx
push edx
call fcn.1006d640
add esp, 0xc
test eax, eax
jle 0x1002ddeb
add esi, eax
mov dword [ebp - 0x2270], esi
lea esi, [edi + 0x38]
call fcn.100299c0
mov ebx, eax
test ebx, ebx
jl 0x1002ddeb
je 0x1002ddbd
test ebx, ebx
jle 0x1002dce1
mov eax, dword [edi + 0x4c]
mov dword [ebp - 0x2278], eax
test eax, eax
je 0x1002dce1
mov eax, dword [ebp - 0x2224]
mov ecx, dword [ebp - 0x221c]
lea eax, [eax + ebx + 1]
cmp eax, ecx
ja 0x1002dce1
mov esi, dword [ebp - 0x2220]
cmp eax, esi
jbe 0x1002dd87
test esi, esi
jne 0x1002dd31
mov esi, 0xa
cmp dword [ebp - 0x2218], 1
jne 0x1002dd48
cmp esi, eax
ja 0x1002dd4a
mov edi, edi
add esi, esi
cmp esi, eax
jbe 0x1002dd40
jmp 0x1002dd4a
mov esi, eax
cmp esi, ecx
jb 0x1002dd50
mov esi, eax
cmp dword [ebp - 0x2228], 0
push esi
je 0x1002dd6b
mov ecx, dword [ebp - 0x2228]
push ecx
call fcn.10032818
add esp, 8
jmp 0x1002dd73
call fcn.10030d6c
add esp, 4
test eax, eax
je 0x1002dce1
mov dword [ebp - 0x2220], esi
mov dword [ebp - 0x2228], eax
mov edx, dword [ebp - 0x2278]
mov esi, dword [ebp - 0x2224]
mov eax, dword [ebp - 0x2228]
push ebx
push edx
add eax, esi
push eax
call fcn.10037db0
mov ecx, dword [ebp - 0x2228]
add esp, 0xc
add ebx, esi
mov dword [ebp - 0x2224], ebx
mov byte [ecx + ebx], 0
jmp 0x1002dce1
mov edx, dword [ebp + 0x14]
cmp dword [ebp - 0x2270], edx
jl 0x1002dcb0
mov eax, dword [edi + 0x44]
mov ebx, dword [ebp - 0x2224]
push eax
call fcn.10040470
add esp, 4
test eax, eax
je 0x1002de07
push 1
mov ecx, edi
call fcn.10029cb0
lea ecx, [ebp - 0x222c]
mov dword [ebp - 4], 0xffffffff
call fcn.10013810
mov eax, 4
jmp 0x1002e4e5
mov ecx, dword [edi + 0x40]
push 0
push 0
push 0xa
push ecx
call fcn.1006d8b0
add esp, 0x10
test eax, eax
je 0x1002de6c
lea ecx, [ecx]
mov eax, dword [edi + 0x40]
push 0x2000
lea edx, [ebp - 0x2214]
push edx
push eax
call fcn.1006d580
add esp, 0xc
test eax, eax
jle 0x1002de56
mov edx, dword [ebp - 0x226c]
push eax
lea ecx, [ebp - 0x2214]
push ecx
mov ecx, dword [edi + 8]
push edx
push 1
push edi
call fcn.10017fa0
mov eax, dword [edi + 0x40]
push 0
push 0
push 0xa
push eax
call fcn.1006d8b0
add esp, 0x10
test eax, eax
jne 0x1002de20
test ebx, ebx
jbe 0x1002df53
cmp ebx, 0x100
jae 0x1002df39
mov ecx, dword [edi + 0x44]
cmp dword [ecx + 0x50], 0
jbe 0x1002df39
cmp dword [ebp - 0x2228], 0
je 0x1002df53
mov edx, dword [edi + 0x80]
mov ecx, dword [edi + 0x88]
lea eax, [ebx + edx + 1]
cmp eax, ecx
ja 0x1002df53
mov esi, dword [edi + 0x84]
cmp eax, esi
jbe 0x1002df0a
test esi, esi
jne 0x1002dec5
mov esi, 0xa
cmp dword [edi + 0x8c], 1
jne 0x1002deda
cmp esi, eax
ja 0x1002dedc
add esi, esi
cmp esi, eax
jbe 0x1002ded2
jmp 0x1002dedc
mov esi, eax
cmp esi, ecx
jb 0x1002dee2
mov esi, eax
mov eax, dword [edi + 0x7c]
push esi
test eax, eax
je 0x1002def5
push eax
call fcn.10032818
add esp, 8
jmp 0x1002defd
call fcn.10030d6c
add esp, 4
test eax, eax
je 0x1002df53
mov dword [edi + 0x84], esi
mov dword [edi + 0x7c], eax
mov ecx, dword [edi + 0x80]
mov eax, dword [ebp - 0x2228]
add ecx, dword [edi + 0x7c]
push ebx
push eax
push ecx
call fcn.10037db0
mov edx, dword [edi + 0x7c]
add esp, 0xc
add dword [edi + 0x80], ebx
mov eax, dword [edi + 0x80]
mov byte [eax + edx], 0
jmp 0x1002df53
mov eax, dword [ebp - 0x2228]
mov ecx, dword [ebp - 0x2284]
push ebx
push eax
push ecx
mov ecx, dword [edi + 8]
push 0
push edi
call fcn.10017fa0
mov edx, dword [edi + 0x44]
push edx
call fcn.10089c90
add esp, 4
test eax, eax
je 0x1002df83
mov eax, dword [ebp - 0x2284]
mov ecx, dword [edi + 8]
push 0
push 0
push eax
push 0
push edi
call fcn.10017fa0
mov dword [edi + 0xa4], 1
cmp byte [edi + 0xad], 0
je 0x1002dfbb
mov ebx, str.tls_ac
mov ecx, edi
mov byte [edi + 0xad], 0
call fcn.1002a480
mov ebx, str.tls1_0
mov ecx, edi
call fcn.1002a480
xor ebx, ebx
mov ecx, edi
call fcn.1002a480
mov ecx, edi
call fcn.1002a060
lea ecx, [ebp - 0x222c]
mov dword [ebp - 4], 0xffffffff
call fcn.10013810
mov eax, 3
jmp 0x1002e4e5
mov ecx, dword [edi + 0x1c]
push ecx
call fcn.10041bd0
add esp, 4
cmp eax, 3
je 0x1002e0fa
mov edx, dword [ebp - 0x2274]
mov eax, dword [edi + 0x14]
push ebx
push edx
push eax
call fcn.1006d640
mov ecx, dword [edi + 0x1c]
push ecx
call fcn.100429c0
mov esi, eax
add esp, 0x10
test esi, esi
jge 0x1002e03c
mov edx, dword [edi + 0x1c]
push esi
push edx
call fcn.10042440
add esp, 8
cmp eax, 2
je 0x1002e03a
lea ecx, [ebp - 0x222c]
mov dword [ebp - 4], 0xffffffff
call fcn.10013810
xor eax, eax
jmp 0x1002e4e5
test esi, esi
jne 0x1002e053
mov eax, dword [edi + 0x1c]
push eax
call fcn.10042000
add esp, 4
push 1
mov ecx, edi
call fcn.10029cb0
mov ecx, dword [edi + 0x18]
push 0
push 0
push 0xa
push ecx
call fcn.1006d8b0
add esp, 0x10
test eax, eax
je 0x1002e0b6
mov esi, dword [ebp - 0x226c]
nop
mov eax, dword [edi + 0x18]
push 0x2000
lea edx, [ebp - 0x2214]
push edx
push eax
call fcn.1006d580
add esp, 0xc
test eax, eax
jle 0x1002e0a0
push eax
lea ecx, [ebp - 0x2214]
push ecx
mov ecx, dword [edi + 8]
push esi
push 1
push edi
call fcn.10017fa0
mov edx, dword [edi + 0x18]
push 0
push 0
push 0xa
push edx
call fcn.1006d8b0
add esp, 0x10
test eax, eax
jne 0x1002e070
mov eax, dword [edi + 0x1c]
push eax
call fcn.10041bd0
add esp, 4
cmp eax, 3
jne 0x1002da7d
test dword [edi + 0xe0], 0x8000
jne 0x1002dba2
mov eax, dword [edi + 0x80]
test eax, eax
je 0x1002dba2
mov ecx, dword [edi + 0x7c]
push eax
push ecx
mov ecx, dword [ebp - 0x226c]
push ecx
jmp 0x1002db8f
mov ebx, dword [edi + 0x68]
test ebx, ebx
je 0x1002e1d2
mov eax, dword [edi + 0x64]
mov dword [ebp - 0x2278], eax
test eax, eax
je 0x1002e1ca
test ebx, ebx
je 0x1002e1ca
mov edx, dword [ebp - 0x2224]
mov ecx, dword [ebp - 0x221c]
lea eax, [edx + ebx + 1]
cmp eax, ecx
ja 0x1002e1ca
mov esi, dword [ebp - 0x2220]
cmp eax, esi
jbe 0x1002e199
test esi, esi
jne 0x1002e149
mov esi, 0xa
cmp dword [ebp - 0x2218], 1
jne 0x1002e15e
cmp esi, eax
ja 0x1002e160
add esi, esi
cmp esi, eax
jbe 0x1002e156
jmp 0x1002e160
mov esi, eax
cmp esi, ecx
jb 0x1002e166
mov esi, eax
cmp dword [ebp - 0x2228], 0
push esi
je 0x1002e181
mov eax, dword [ebp - 0x2228]
push eax
call fcn.10032818
add esp, 8
jmp 0x1002e189
call fcn.10030d6c
add esp, 4
test eax, eax
je 0x1002e1ca
mov dword [ebp - 0x2220], esi
mov dword [ebp - 0x2228], eax
mov ecx, dword [ebp - 0x2278]
mov esi, dword [ebp - 0x2224]
mov edx, dword [ebp - 0x2228]
push ebx
push ecx
add edx, esi
push edx
call fcn.10037db0
mov eax, dword [ebp - 0x2228]
add esp, 0xc
add ebx, esi
mov dword [ebp - 0x2224], ebx
mov byte [eax + ebx], 0
lea esi, [edi + 0x60]
call fcn.10013a70
cmp dword [ebp + 0x14], 0
jle 0x1002e2fc
lea esp, [esp]
mov esi, dword [ebp - 0x2270]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x2274]
mov eax, dword [edi + 0x14]
sub ecx, esi
push ecx
add edx, esi
push edx
push eax
call fcn.1006d640
add esp, 0xc
test eax, eax
jle 0x1002ddeb
add esi, eax
mov dword [ebp - 0x2270], esi
lea esi, [edi + 0x10]
call fcn.10029950
mov ebx, eax
test ebx, ebx
jl 0x1002ddeb
je 0x1002e2ed
test ebx, ebx
jle 0x1002e211
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x2278], eax
test eax, eax
je 0x1002e211
mov ecx, dword [ebp - 0x2224]
lea eax, [ecx + ebx + 1]
mov ecx, dword [ebp - 0x221c]
cmp eax, ecx
ja 0x1002e211
mov esi, dword [ebp - 0x2220]
cmp eax, esi
jbe 0x1002e2b7
test esi, esi
jne 0x1002e261
mov esi, 0xa
cmp dword [ebp - 0x2218], 1
jne 0x1002e278
cmp esi, eax
ja 0x1002e27a
mov edi, edi
add esi, esi
cmp esi, eax
jbe 0x1002e270
jmp 0x1002e27a
mov esi, eax
cmp esi, ecx
jb 0x1002e280
mov esi, eax
cmp dword [ebp - 0x2228], 0
push esi
je 0x1002e29b
mov edx, dword [ebp - 0x2228]
push edx
call fcn.10032818
add esp, 8
jmp 0x1002e2a3
call fcn.10030d6c
add esp, 4
test eax, eax
je 0x1002e211
mov dword [ebp - 0x2220], esi
mov dword [ebp - 0x2228], eax
mov eax, dword [ebp - 0x2278]
mov esi, dword [ebp - 0x2224]
mov ecx, dword [ebp - 0x2228]
push ebx
push eax
add ecx, esi
push ecx
call fcn.10037db0
mov edx, dword [ebp - 0x2228]
add esp, 0xc
add ebx, esi
mov dword [ebp - 0x2224], ebx
mov byte [edx + ebx], 0
jmp 0x1002e211
mov eax, dword [ebp + 0x14]
cmp dword [ebp - 0x2270], eax
jl 0x1002e1e0
mov ecx, dword [edi + 0x18]
mov ebx, dword [ebp - 0x2224]
push 0
push 0
push 0xa
push ecx
call fcn.1006d8b0
add esp, 0x10
test eax, eax
je 0x1002e36c
jmp 0x1002e320
mov eax, dword [edi + 0x18]
push 0x2000
lea edx, [ebp - 0x2214]
push edx
push eax
call fcn.1006d580
add esp, 0xc
test eax, eax
jle 0x1002e356
mov edx, dword [ebp - 0x226c]
push eax
lea ecx, [ebp - 0x2214]
push ecx
mov ecx, dword [edi + 8]
push edx
push 1
push edi
call fcn.10017fa0
mov eax, dword [edi + 0x18]
push 0
push 0
push 0xa
push eax
call fcn.1006d8b0
add esp, 0x10
test eax, eax
jne 0x1002e320
test ebx, ebx
jbe 0x1002e458
cmp ebx, 0x100
jae 0x1002e385
mov ecx, dword [edi + 0x1c]
cmp dword [ecx + 0x50], 0
ja 0x1002e3aa
test dword [edi + 0xe0], 0x8000
jne 0x1002e43e
mov edx, dword [edi + 0x44]
push edx
call fcn.10041bd0
add esp, 4
cmp eax, 3
je 0x1002e43e
cmp dword [ebp - 0x2228], 0
je 0x1002e458
mov eax, dword [edi + 0x68]
mov ecx, dword [edi + 0x70]
lea eax, [ebx + eax + 1]
cmp eax, ecx
ja 0x1002e458
mov esi, dword [edi + 0x6c]
cmp eax, esi
jbe 0x1002e418
test esi, esi
jne 0x1002e3d9
mov esi, 0xa
cmp dword [edi + 0x74], 1
jne 0x1002e3eb
cmp esi, eax
ja 0x1002e3ed
add esi, esi
cmp esi, eax
jbe 0x1002e3e3
jmp 0x1002e3ed
mov esi, eax
cmp esi, ecx
jb 0x1002e3f3
mov esi, eax
mov eax, dword [edi + 0x64]
push esi
test eax, eax
je 0x1002e406
push eax
call fcn.10032818
add esp, 8
jmp 0x1002e40e
call fcn.10030d6c
add esp, 4
test eax, eax
je 0x1002e458
mov dword [edi + 0x6c], esi
mov dword [edi + 0x64], eax
mov edx, dword [edi + 0x64]
mov ecx, dword [ebp - 0x2228]
add edx, dword [edi + 0x68]
push ebx
push ecx
push edx
call fcn.10037db0
mov ecx, dword [edi + 0x64]
add esp, 0xc
add dword [edi + 0x68], ebx
mov eax, dword [edi + 0x68]
mov byte [eax + ecx], 0
jmp 0x1002e458
mov edx, dword [ebp - 0x2228]
mov eax, dword [ebp - 0x2284]
mov ecx, dword [edi + 8]
push ebx
push edx
push eax
push 0
push edi
call fcn.10017fa0
mov ecx, dword [edi + 0x1c]
push ecx
call fcn.10089c90
add esp, 4
test eax, eax
je 0x1002e488
mov edx, dword [ebp - 0x2284]
mov ecx, dword [edi + 8]
push 0
push 0
push edx
push 0
push edi
call fcn.10017fa0
mov dword [edi + 0xa8], 1
cmp byte [edi + 0xad], 0
je 0x1002dba2
mov ebx, str.tls_ac
mov ecx, edi
mov byte [edi + 0xad], 0
call fcn.1002a480
mov ebx, str.tls1_0
mov ecx, edi
call fcn.1002a480
xor ebx, ebx
mov ecx, edi
call fcn.1002a480
mov ecx, edi
call fcn.1002a060
jmp 0x1002dba2
mov ecx, dword [edi + 8]
push 0
push 0
push esi
push 0
push edi
call fcn.10017fa0
mov eax, 3
jmp 0x1002e4e5
mov eax, 2
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10030c80
mov esp, ebp
pop ebp
ret 0x10