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

Disassembly:
sub esp, 0x80
push ebx
push ebp
xor ebx, ebx
mov ebp, ecx
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], eax
push esi
push edi
test eax, eax
jne 0x1003d460
mov ecx, dword [ebp + 8]
push ecx
push str.X_YouTube_STS
mov eax, dword [ecx + 0xc]
lea edx, [ecx + 0xd4]
lea ecx, [esp + 0x68]
mov eax, dword [eax + 0xc]
add edx, eax
call fcn.10025420
mov ebx, 1
lea edx, [esp + 0xac]
mov dword [esp + 0x1c], ebx
push 0xa
push dword [eax + 4]
mov ecx, dword [eax]
call fcn.1000a9b0
mov esi, dword [esp + 0xa4]
add esp, 0x10
test eax, eax
jne 0x1003d453
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x38]
push 2
push closesocket
push 0
push dword [esp + 0xa4]
mov al, byte [eax + 0x1b]
mov edx, 0x10056808
push esi
mov byte [esp + 0x38], al
call fcn.100069a0
mov edx, dword [esp + 0x4c]
add esp, 0x14
mov eax, dword [esp + 0x3c]
push dword [esp + 0x24]
lea edx, [edx + esi]
push ecx
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x78]
call fcn.10007020
mov ebx, 3
lea edx, [esp + 0xac]
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0x78]
push 0xa
push dword [esp + 0x80]
call fcn.1000a9b0
add esp, 0x10
test eax, eax
jne 0x1003d453
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ebx
test eax, eax
jne 0x1003d467
mov byte [esp + 0x13], 1
mov dword [esp + 0x14], ebx
jmp 0x1003d46c
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x18], eax
jmp 0x1003d467
mov esi, dword [esp + 0x94]
mov byte [esp + 0x13], 0
mov edi, dword [sym.imp.msvcrt.dll_free]
test bl, 2
je 0x1003d48f
and ebx, 0xfffffffd
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x70]
cmp eax, 0x10059da0
je 0x1003d48f
push eax
call edi
add esp, 4
test bl, 1
je 0x1003d4ac
and ebx, 0xfffffffe
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x60]
cmp eax, 0x10059da0
je 0x1003d4ac
push eax
call edi
add esp, 4
cmp byte [esp + 0x13], 0
je 0x1003d7cc
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x38]
push 2
push closesocket
push 0
push dword [esp + 0xa4]
mov al, byte [eax + 0x1b]
mov edx, str.PLAYER_JS_URL
push esi
mov byte [esp + 0x38], al
call fcn.100069a0
mov edx, dword [esp + 0x4c]
add esp, 0x14
mov eax, dword [esp + 0x3c]
push dword [esp + 0x24]
lea edx, [edx + esi]
push ecx
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x48]
call fcn.10007020
mov ebp, dword [esp + 0x4c]
add esp, 8
test ebp, ebp
jne 0x1003d670
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x38]
push 2
or ebx, 4
mov edx, str.jsUrl
mov dword [esp + 0x18], ebx
mov eax, dword [eax + 8]
push closesocket
push ebp
push dword [esp + 0xa4]
mov al, byte [eax + 0x1b]
push esi
mov byte [esp + 0x38], al
call fcn.100069a0
mov edx, dword [esp + 0x4c]
add esp, 0x14
mov eax, dword [esp + 0x3c]
push dword [esp + 0x24]
lea edx, [edx + esi]
push ecx
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x58]
call fcn.10007020
mov eax, dword [esp + 0x48]
add esp, 8
cmp eax, 0x10059da0
je 0x1003d576
push eax
call edi
add esp, 4
mov ecx, dword [esp + 0x50]
mov ebp, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x40], ecx
mov cl, byte [esp + 0x5c]
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], eax
mov byte [esp + 0x13], cl
mov byte [esp + 0x4c], cl
test ebp, ebp
jne 0x1003d669
push ebp
push dword [esp + 0x9c]
mov edx, str.assets
lea ecx, [esp + 0x30]
push esi
call fcn.10006cb0
add esp, 0xc
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov dword [esp + 0x3c], ecx
test ecx, ecx
jle 0x1003d669
mov eax, dword [esp + 0x1c]
or ebx, 8
mov dword [esp + 0x14], ebx
add esi, edx
push 2
push closesocket
mov eax, dword [eax + 8]
push ebp
push ecx
mov dword [esp + 0x48], edx
lea ecx, [esp + 0x48]
mov al, byte [eax + 0x1b]
mov edx, 0x100568f0
push esi
mov byte [esp + 0x38], al
call fcn.100069a0
mov edx, dword [esp + 0x4c]
add esp, 0x14
mov eax, dword [esp + 0x3c]
push dword [esp + 0x24]
lea edx, [esi + edx]
push ecx
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x68]
call fcn.10007020
mov eax, dword [esp + 0x58]
add esp, 8
cmp eax, 0x10059da0
je 0x1003d638
push eax
call edi
add esp, 4
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x64]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x40], ecx
mov cl, byte [esp + 0x6c]
mov dword [esp + 0x48], eax
mov eax, 0x10059da0
mov dword [esp + 0x44], ebp
mov esi, eax
mov byte [esp + 0x13], cl
mov byte [esp + 0x4c], cl
jmp 0x1003d688
mov esi, 0x10059da0
jmp 0x1003d684
mov al, byte [esp + 0x4c]
mov esi, dword [esp + 0x50]
mov byte [esp + 0x13], al
mov eax, dword [esp + 0x40]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x60]
test bl, 8
je 0x1003d6a1
and ebx, 0xfffffff7
mov dword [esp + 0x14], ebx
cmp eax, 0x10059da0
je 0x1003d6a1
push eax
call edi
add esp, 4
test bl, 4
je 0x1003d6bb
and ebx, 0xfffffffb
mov dword [esp + 0x14], ebx
cmp esi, 0x10059da0
je 0x1003d6bb
push esi
call edi
add esp, 4
test ebp, ebp
je 0x1003d7ba
push 0
push ecx
push 0xffffffffffffffff
push 0
push str._player
lea ecx, [esp + 0x54]
call fcn.10003ca0
mov esi, eax
test esi, esi
js 0x1003d7ba
mov eax, dword [esp + 0x20]
add esi, 7
mov al, byte [eax + esi]
cmp al, 0x2f
je 0x1003d715
cmp al, 0x5f
jne 0x1003d7ba
push 0
push 0xffffffffffffffff
lea eax, [esi + 1]
push eax
push 0x2d
lea ecx, [esp + 0x50]
call fcn.10003b90
mov esi, eax
test esi, esi
js 0x1003d7ba
push 0
push 0xffffffffffffffff
inc esi
lea ecx, [esp + 0x48]
push esi
push 0x2f
call fcn.10003b90
mov ebx, eax
test ebx, ebx
js 0x1003d7ba
sub ebx, esi
sub ebp, esi
js 0x1003d73a
cmp ebx, ebp
jb 0x1003d73c
mov ebx, ebp
mov ebp, dword [esp + 0x20]
mov al, byte [esp + 0x13]
add ebp, esi
mov byte [esp + 0x6c], al
mov byte [esp + 0x6d], 0
test ebx, ebx
jle 0x1003d783
lea eax, [ebx + 0x10]
push eax
mov dword [esp + 0x6c], eax
call dword [sym.imp.msvcrt.dll_malloc]
mov esi, eax
add esp, 4
mov dword [esp + 0x60], esi
test esi, esi
je 0x1003d783
push ebx
push ebp
push esi
mov dword [esp + 0x70], ebx
mov byte [ebx + esi], 0
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x1003d79c
mov esi, 0x10059da0
mov dword [esp + 0x68], 0
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], 0
lea ecx, [esp + 0x60]
call fcn.10041290
movzx eax, ax
mov dword [esp + 0x18], eax
cmp esi, 0x10059da0
je 0x1003d7ba
push esi
call edi
add esp, 4
mov esi, dword [esp + 0x20]
cmp esi, 0x10059da0
je 0x1003d7cc
push esi
call edi
add esp, 4
mov ebp, dword [esp + 0x94]
lea ecx, [esp + 0x38]
push 0
push dword [esp + 0x9c]
mov edx, str.videoDetails
push ebp
call fcn.10006cb0
mov ecx, dword [esp + 0x48]
add esp, 0xc
test ecx, ecx
jle 0x1003d8ad
mov ebx, dword [esp + 0x1c]
mov edx, str.title
mov esi, dword [esp + 0x38]
push 2
push closesocket
mov eax, dword [ebx + 8]
add esi, ebp
push 0
push ecx
push esi
mov al, byte [eax + 0x1b]
lea ecx, [esp + 0x4c]
mov byte [esp + 0x38], al
call fcn.100069a0
mov edx, dword [esp + 0x4c]
add esp, 0x14
mov eax, dword [esp + 0x3c]
push dword [esp + 0x24]
lea edx, [esi + edx]
push ecx
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x78]
call fcn.10007020
mov edx, dword [esp + 0x7c]
add esp, 8
mov esi, dword [esp + 0x70]
test edx, edx
je 0x1003d896
mov ecx, dword [ebx + 8]
mov bl, byte [esp + 0x9c]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 8]
cmp bl, byte [eax + ecx + 0x8c]
jae 0x1003d879
cmp dword [eax + ecx + 0x80], 0
jne 0x1003d89d
push ecx
push dword [esp + 0x80]
mov byte [eax + ecx + 0x8c], bl
add ecx, 0x7c
push edx
push esi
add ecx, eax
call fcn.100049d0
jmp 0x1003d89d
mov bl, byte [esp + 0x9c]
cmp esi, 0x10059da0
je 0x1003d8b4
push esi
call edi
add esp, 4
jmp 0x1003d8b4
mov bl, byte [esp + 0x9c]
mov bh, byte [esp + 0xac]
lea ecx, [esp + 0x38]
push 0
push dword [esp + 0x9c]
mov edx, str.streamingData
push ebp
call fcn.10006cb0
mov ecx, dword [esp + 0x48]
add esp, 0xc
mov dword [esp + 0x24], ecx
test ecx, ecx
jle 0x1003d8ea
mov edx, dword [esp + 0x38]
mov bh, 1
jmp 0x1003d915
push 0
push closesocket
push 0
push dword [esp + 0xa4]
mov edx, str.player_response
lea ecx, [esp + 0x48]
push ebp
call fcn.100069a0
add esp, 0x14
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov dword [esp + 0x24], ecx
mov esi, dword [esp + 0x1c]
test ecx, ecx
jle 0x1003dbac
test bh, bh
je 0x1003d92a
lea ebx, [edx + ebp]
jmp 0x1003d959
mov eax, dword [esi + 8]
add edx, ebp
movzx eax, byte [eax + 0x1b]
push eax
push ecx
mov eax, esp
mov dword [eax], ecx
lea ecx, [esp + 0x88]
call fcn.10007020
mov dword [esp + 0x1c], 0x10
add esp, 8
mov ecx, dword [eax + 4]
mov ebx, dword [eax]
mov dword [esp + 0x24], ecx
mov eax, dword [esi + 8]
mov edx, str.title
push 2
push closesocket
push 0
mov al, byte [eax + 0x1b]
push ecx
push ebx
lea ecx, [esp + 0x4c]
mov dword [esp + 0x34], ebx
mov byte [esp + 0x3c], al
call fcn.100069a0
mov edx, dword [esp + 0x4c]
add esp, 0x14
mov eax, dword [esp + 0x3c]
push dword [esp + 0x28]
lea edx, [ebx + edx]
push ecx
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x78]
call fcn.10007020
mov edx, dword [esp + 0x7c]
add esp, 8
test edx, edx
je 0x1003d9e9
mov ecx, dword [esi + 8]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 8]
add ecx, eax
mov al, byte [esp + 0x9c]
cmp al, byte [ecx + 0x8c]
jae 0x1003d9ce
cmp dword [ecx + 0x80], 0
jne 0x1003d9e9
push ecx
push dword [esp + 0x80]
mov byte [ecx + 0x8c], al
add ecx, 0x7c
push edx
push dword [esp + 0x7c]
call fcn.100049d0
mov eax, dword [esi + 8]
mov edx, str.formats
mov ecx, dword [esp + 0x20]
push 1
push dword [esp + 0x28]
mov bl, byte [eax + 0x1b]
push ecx
lea ecx, [esp + 0x4c]
call fcn.10006cb0
add esp, 0xc
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov byte [esp + 0x6c], bl
mov ebx, eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x28], eax
mov byte [esp + 0x6d], 0
test ebx, ebx
jle 0x1003da83
lea eax, [ebx + 0x10]
push eax
mov dword [esp + 0x6c], eax
call dword [sym.imp.msvcrt.dll_malloc]
mov edx, eax
add esp, 4
mov dword [esp + 0x60], edx
test edx, edx
je 0x1003da83
mov ecx, dword [esp + 0x38]
add ecx, dword [esp + 0x20]
push ebx
push ecx
mov dword [esp + 0x6c], ebx
push edx
mov byte [edx + ebx], 0
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp dword [esp + 0x64], 0
je 0x1003da9b
push 1
push dword [esp + 0x1c]
lea eax, [esp + 0xa8]
mov ecx, esi
push eax
lea eax, [esp + 0x6c]
push eax
call fcn.1003e830
add dword [esi + 0x14], eax
jmp 0x1003da9b
mov dword [esp + 0x60], 0x10059da0
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov eax, dword [esi + 8]
lea ecx, [esp + 0x40]
push 1
push dword [esp + 0x28]
mov edx, str.adaptiveFormats
push dword [esp + 0x28]
mov bl, byte [eax + 0x1b]
call fcn.10006cb0
add esp, 0xc
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov byte [esp + 0x5c], bl
mov ebx, eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x38], eax
mov byte [esp + 0x5d], 0
test ebx, ebx
jle 0x1003db32
lea eax, [ebx + 0x10]
push eax
mov dword [esp + 0x5c], eax
call dword [sym.imp.msvcrt.dll_malloc]
add esp, 4
mov dword [esp + 0x50], eax
test eax, eax
je 0x1003db32
mov ecx, dword [esp + 0x20]
add ecx, dword [esp + 0x28]
push ebx
push ecx
mov dword [esp + 0x5c], ebx
push eax
mov byte [eax + ebx], 0
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp dword [esp + 0x54], 0
je 0x1003db4a
push 1
push dword [esp + 0x1c]
lea eax, [esp + 0xa8]
mov ecx, esi
push eax
lea eax, [esp + 0x5c]
push eax
call fcn.1003e830
add dword [esi + 0x18], eax
jmp 0x1003db4a
mov dword [esp + 0x50], 0x10059da0
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
cmp byte [esp + 0xa8], 0
jne 0x1003db62
push dword [esp + 0xa0]
mov ecx, esi
call fcn.1003fc10
mov eax, dword [esp + 0x50]
cmp eax, 0x10059da0
je 0x1003db73
push eax
call edi
add esp, 4
mov eax, dword [esp + 0x60]
cmp eax, 0x10059da0
je 0x1003db84
push eax
call edi
add esp, 4
mov eax, dword [esp + 0x70]
cmp eax, 0x10059da0
je 0x1003db95
push eax
call edi
add esp, 4
test byte [esp + 0x14], 0x10
je 0x1003dd63
mov eax, dword [esp + 0x80]
jmp 0x1003dd56
mov eax, dword [esi + 8]
lea ecx, [esp + 0x28]
push 2
push closesocket
push 0
push dword [esp + 0xa4]
mov al, byte [eax + 0x1b]
mov edx, str.title
push ebp
mov byte [esp + 0x4c], al
call fcn.100069a0
mov edx, dword [esp + 0x3c]
add esp, 0x14
mov eax, dword [esp + 0x2c]
push dword [esp + 0x38]
lea edx, [edx + ebp]
push ecx
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x78]
call fcn.10007020
mov edx, dword [esp + 0x7c]
add esp, 8
test edx, edx
je 0x1003dc3a
mov ecx, dword [esi + 8]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 8]
cmp bl, byte [eax + ecx + 0x8c]
jae 0x1003dc1c
cmp dword [eax + ecx + 0x80], 0
jne 0x1003dc3a
push ecx
push dword [esp + 0x80]
mov byte [eax + ecx + 0x8c], bl
add ecx, 0x7c
push edx
push dword [esp + 0x7c]
add ecx, eax
call fcn.100049d0
mov eax, dword [esi + 8]
lea ecx, [esp + 0x28]
push 2
push closesocket
push 0
push dword [esp + 0xa4]
mov al, byte [eax + 0x1b]
mov edx, 0x1005681c
push ebp
mov byte [esp + 0x4c], al
call fcn.100069a0
mov edx, dword [esp + 0x3c]
add esp, 0x14
mov eax, dword [esp + 0x2c]
push dword [esp + 0x38]
lea edx, [edx + ebp]
push ecx
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x58]
call fcn.10007020
mov ebx, dword [esp + 0x20]
add esp, 8
cmp dword [esp + 0x54], 0
je 0x1003dcab
push 1
push ebx
lea eax, [esp + 0xa8]
mov ecx, esi
push eax
lea eax, [esp + 0x5c]
push eax
call fcn.1003e0c0
add dword [esi + 0x14], eax
mov eax, dword [esi + 8]
lea ecx, [esp + 0x28]
push 2
push closesocket
push 0
push dword [esp + 0xa4]
mov al, byte [eax + 0x1b]
mov edx, str.adaptive_fmts
push ebp
mov byte [esp + 0x4c], al
call fcn.100069a0
mov edx, dword [esp + 0x3c]
add esp, 0x14
mov eax, dword [esp + 0x2c]
push dword [esp + 0x38]
lea edx, [edx + ebp]
push ecx
mov ecx, esp
mov dword [ecx], eax
lea ecx, [esp + 0x68]
call fcn.10007020
add esp, 8
cmp dword [esp + 0x64], 0
je 0x1003dd18
push 1
push ebx
lea eax, [esp + 0xa8]
mov ecx, esi
push eax
lea eax, [esp + 0x6c]
push eax
call fcn.1003e0c0
add dword [esi + 0x18], eax
cmp byte [esp + 0xa8], 0
jne 0x1003dd30
push dword [esp + 0xa0]
mov ecx, esi
call fcn.1003fc10
mov eax, dword [esp + 0x60]
cmp eax, 0x10059da0
je 0x1003dd41
push eax
call edi
add esp, 4
mov eax, dword [esp + 0x50]
cmp eax, 0x10059da0
je 0x1003dd52
push eax
call edi
add esp, 4
mov eax, dword [esp + 0x70]
cmp eax, 0x10059da0
je 0x1003dd63
push eax
call edi
add esp, 4
mov eax, dword [esi + 8]
lea ecx, [esp + 0x40]
push 1
push dword [esp + 0x9c]
mov edx, str.captionTracks
mov bl, byte [eax + 0x1b]
push ebp
call fcn.10006cb0
add esp, 0xc
mov byte [esp + 0x5c], bl
mov byte [esp + 0x5d], 0
mov esi, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x18], eax
test eax, eax
jle 0x1003e0af
add eax, 0x10
push eax
mov dword [esp + 0x5c], eax
call dword [sym.imp.msvcrt.dll_malloc]
mov ebx, eax
add esp, 4
mov dword [esp + 0x50], ebx
test ebx, ebx
je 0x1003e0af
mov eax, dword [esp + 0x18]
push eax
mov dword [esp + 0x58], eax
mov byte [ebx + eax], 0
lea eax, [esi + ebp]
push eax
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
xor ecx, ecx
lea esp, [esp]
cmp ecx, dword [esp + 0x18]
jae 0x1003ddeb
mov dl, byte [ecx + ebx]
jmp 0x1003dded
xor dl, dl
movzx eax, dl
test byte [eax*2 + 0x10050110], 1
je 0x1003ddfd
inc ecx
jmp 0x1003dde0
cmp dl, 0x7b
jne 0x1003e0a1
add ecx, 1
mov dword [esp + 0x24], ecx
js 0x1003e0a1
xor eax, eax
mov dword [esp + 0x60], 0x10059da0
mov dword [esp + 0x44], eax
lea ecx, [esp + 0x50]
mov dword [esp + 0x48], eax
xor edx, edx
mov word [esp + 0x4c], ax
mov ebp, 0x10059da0
mov dword [esp + 0x30], eax
mov ebx, ebp
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x64]
mov dword [esp + 0x18], edx
mov dword [esp + 0x30], edx
lea edx, [esp + 0x28]
push eax
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov word [esp + 0x74], 0
mov dword [esp + 0x48], ebp
mov dword [esp + 0x30], ebx
mov word [esp + 0x3c], 0x100
call fcn.10007330
add esp, 8
mov byte [esp + 0x20], al
test al, al
jle 0x1003e076
mov esi, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
cmp esi, 7
jne 0x1003df1f
push 7
push str.baseUrl
push eax
call dword [sym.imp.msvcrt.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x1003df1b
push dword [esp + 0x3c]
lea edx, [esp + 0x54]
push dword [esp + 0x3c]
lea ecx, [esp + 0x88]
push dword [esp + 0x28]
call fcn.1003a190
add esp, 0xc
mov esi, eax
cmp ebp, 0x10059da0
je 0x1003dee4
push ebp
call edi
add esp, 4
mov eax, dword [esi + 4]
mov ebp, dword [esi]
mov dword [esp + 0x44], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x48], eax
mov al, byte [esi + 0xc]
mov byte [esp + 0x4c], al
mov dword [esi], 0x10059da0
mov dword [esi + 8], 0
mov dword [esi + 4], 0
mov eax, dword [esp + 0x80]
jmp 0x1003df9b
mov eax, dword [esp + 0x60]
cmp esi, 0xc
jne 0x1003dfa8
push esi
push str.languageCode
push eax
call dword [sym.imp.msvcrt.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x1003dfa8
push dword [esp + 0x3c]
lea edx, [esp + 0x54]
push dword [esp + 0x3c]
lea ecx, [esp + 0x78]
push dword [esp + 0x28]
call fcn.1003a190
add esp, 0xc
mov esi, eax
cmp ebx, 0x10059da0
je 0x1003df68
push ebx
call edi
add esp, 4
mov eax, dword [esi + 4]
mov ebx, dword [esi]
mov dword [esp + 0x14], eax
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x30], eax
mov al, byte [esi + 0xc]
mov byte [esp + 0x34], al
mov dword [esi], 0x10059da0
mov dword [esi + 8], 0
mov dword [esi + 4], 0
mov eax, dword [esp + 0x70]
cmp eax, 0x10059da0
je 0x1003dfa8
push eax
call edi
add esp, 4
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x64]
push eax
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x58]
call fcn.10007330
add esp, 8
mov byte [esp + 0x20], al
test al, al
jg 0x1003de93
cmp dword [esp + 0x44], 0
mov dword [esp + 0x28], ebx
mov dword [esp + 0x40], ebp
je 0x1003e05a
push 0
push 0xffffffffffffffff
push 0
push 0x2d
lea ecx, [esp + 0x38]
call fcn.10003b90
mov edx, dword [esp + 0x14]
cmp eax, edx
jae 0x1003dffc
mov edx, eax
mov byte [eax + ebx], 0
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi + 8]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 8]
mov eax, dword [eax + ecx + 0x38]
cmp edx, dword [eax + 0x3c4]
jne 0x1003e05a
push edx
push dword [eax + 0x3c0]
push ebx
call dword [sym.imp.msvcrt.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x1003e05a
push ecx
push 0x1005695c
push 0x10055718
lea ecx, [esp + 0x4c]
call fcn.10004160
mov ecx, dword [esi + 8]
lea edx, [esp + 0x40]
push 0
push dword [esp + 0xac]
call fcn.1003a980
mov ebp, dword [esp + 0x48]
add esp, 8
cmp ebx, 0x10059da0
je 0x1003e068
push ebx
call edi
add esp, 4
cmp ebp, 0x10059da0
je 0x1003e076
push ebp
call edi
add esp, 4
mov eax, dword [esp + 0x60]
cmp eax, 0x10059da0
je 0x1003e087
push eax
call edi
add esp, 4
lea edx, [esp + 0x24]
lea ecx, [esp + 0x50]
call fcn.1003a120
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x50]
jmp 0x1003dde0
cmp ebx, 0x10059da0
je 0x1003e0af
push ebx
call edi
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret 0x1c