Function at 0x104c8b30
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
mov eax, dword [0x10a78b80]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xorps xmm0, xmm0
mov esi, ecx
movlpd qword [0x10b13300], xmm0
mov dword [ebp - 0x28], esi
movlpd qword [0x10b13308], xmm0
cmp byte [edi + 0x10], 0
movlpd qword [0x10b13310], xmm0
jne 0x104c8b72
cmp byte [edi + 0x11], 0
je 0x104c8b7a
call fcn.104cfa40
mov dword [esi + 4], eax
mov eax, 0xffff
push 0x800
mov word [esi + 0x8d7b6], ax
lea eax, [esi + 0x85f18]
push 0
push eax
call fcn.1050a0a0
push 0x14
lea eax, [esi + 0x8d7bc]
push 0
push eax
call fcn.1050a0a0
add esp, 0x18
mov ecx, esi
push dword [edi + 0x38]
push dword [edi + 0x34]
push dword [edi + 0x30]
call fcn.104dc830
mov eax, dword [0x10ac2b04]
push 0x1f00
call eax
mov ebx, eax
call dword [0x10ac2aa0]
call dword [0x10ac2aa0]
test eax, eax
je 0x104c8bea
nop word [eax + eax]
call dword [0x10ac2aa0]
test eax, eax
jne 0x104c8be0
mov edi, str._unknown_
test ebx, ebx
mov eax, edi
cmovne eax, ebx
mov dword [esi + 0x8d88c], eax
mov eax, dword [0x10ac2b04]
push 0x1f01
call eax
mov ebx, eax
call dword [0x10ac2aa0]
call dword [0x10ac2aa0]
test eax, eax
je 0x104c8c2a
nop word [eax + eax]
call dword [0x10ac2aa0]
test eax, eax
jne 0x104c8c20
test ebx, ebx
mov eax, edi
push 0x1f02
cmovne eax, ebx
mov dword [esi + 0x8d890], eax
mov eax, dword [0x10ac2b04]
call eax
mov ebx, eax
call dword [0x10ac2aa0]
call dword [0x10ac2aa0]
test eax, eax
je 0x104c8c5f
call dword [0x10ac2aa0]
test eax, eax
jne 0x104c8c55
test ebx, ebx
mov eax, edi
push 0x8b8c
cmovne eax, ebx
mov dword [esi + 0x8d894], eax
mov eax, dword [0x10ac2b04]
call eax
mov ebx, eax
call dword [0x10ac2aa0]
call dword [0x10ac2aa0]
test eax, eax
je 0x104c8c9a
nop word [eax + eax]
call dword [0x10ac2aa0]
test eax, eax
jne 0x104c8c90
test ebx, ebx
cmovne edi, ebx
mov dword [esi + 0x8d898], edi
mov edi, 0x10a3c280
mov byte [esi + 0x8d89c], 0
mov dword [ebp - 0x18], 0
nop dword [eax + eax]
push closesocket
push dword [edi]
call fcn.1050b4f0
mov ebx, dword [esi + 0x8d88c]
add esp, 8
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x4c], 0x1058dafb
mov dword [ebp - 0x48], 0
mov byte [ebp - 0x44], 1
test ebx, ebx
je 0x104c8d06
push closesocket
push ebx
call fcn.1050b4f0
add esp, 8
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x4c], ebx
mov byte [ebp - 0x44], 1
mov ebx, dword [edi]
mov dword [ebp - 0x40], 0x1058dafb
mov dword [ebp - 0x3c], 0
mov byte [ebp - 0x38], 1
test ebx, ebx
je 0x104c8d36
push closesocket
push ebx
call fcn.1050b4f0
add esp, 8
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], ebx
mov byte [ebp - 0x38], 1
push dword [ebp - 0xc]
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.1050b130
add esp, 0xc
test eax, eax
je 0x104c8d64
mov eax, dword [ebp - 0x18]
add edi, 8
add eax, 8
mov dword [ebp - 0x18], eax
cmp eax, 0x28
jb 0x104c8cc0
jmp 0x104c8d6e
mov ax, word [edi + 4]
mov word [0x10ac2e90], ax
lea eax, [ebp - 0x24]
mov byte [esi + 0x8d89d], 1
push eax
push 0x86a2
mov dword [ebp - 0x24], 0
call dword [0x10ac2aa8]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], 0
test eax, eax
jle 0x104c8ded
mov ecx, 0x100
cmp eax, ecx
cmovg eax, ecx
mov dword [ebp - 0x24], eax
shl eax, 2
call fcn.10512ce0
mov ebx, esp
push ebx
push 0x86a3
mov dword [ebp - 0x18], ebx
call dword [0x10ac2aa8]
xor edi, edi
cmp dword [ebp - 0x24], edi
jle 0x104c8ded
mov esi, dword [ebx + edi*4]
mov edx, 0x22
xor ecx, ecx
mov eax, 0x10a76804
cmp dword [eax - 0x14], esi
jne 0x104c8ddf
mov byte [eax], 1
mov edx, ecx
inc ecx
add eax, 0x28
cmp ecx, edx
jb 0x104c8dd5
inc edi
cmp edi, dword [ebp - 0x24]
jl 0x104c8dc6
push 0x1f00
call fcn.104bb8c0
mov esi, eax
xor edi, edi
shld edi, esi, 0x10
push 0x1f02
shl esi, 0x10
call fcn.104bb8c0
mov ebx, eax
xor eax, eax
xor ebx, esi
xor eax, edi
shld eax, ebx, 0x10
push 0x1f01
mov dword [ebp - 0xc], eax
shl ebx, 0x10
call fcn.104bb8c0
mov edi, dword [ebp - 0x28]
xor eax, 0xa04
add esp, 0xc
xor ecx, ecx
xor ecx, dword [ebp - 0xc]
xor eax, ebx
mov dword [edi + 0x8d800], eax
mov dword [edi + 0x8d804], ecx
mov eax, dword [0x10ac2b04]
push 0x1f03
call eax
mov esi, eax
call fcn.104bb960
test esi, esi
je 0x104c8f41
push closesocket
push esi
call fcn.1050b4f0
add esp, 8
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], esi
mov byte [ebp - 0xc], 1
test eax, eax
je 0x104c8fbb
push 0x20
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.1050b300
mov ebx, dword [ebp - 0x14]
add esp, 0xc
mov esi, dword [ebp - 0x40]
sub esi, ebx
mov dword [ebp - 0x4c], 0x1058dafb
mov dword [ebp - 0x48], 0
mov byte [ebp - 0x44], 1
test ebx, ebx
je 0x104c8ed8
cmp esi, 0x7fffffff
jne 0x104c8ec8
push esi
push ebx
call fcn.1050b4f0
add esp, 8
mov dword [ebp - 0x48], eax
jmp 0x104c8ecb
mov dword [ebp - 0x48], esi
cmp esi, 0x7fffffff
mov dword [ebp - 0x4c], ebx
sete byte [ebp - 0x44]
lea eax, [ebp - 0x4c]
push eax
call fcn.104ed440
mov esi, dword [ebp - 0x14]
xor ebx, ebx
add esp, 4
mov dword [ebp - 0x14], 0x1058dafb
cmp dword [ebp - 0x3c], ebx
mov byte [ebp - 0xc], 1
setne bl
add ebx, dword [ebp - 0x40]
sub esi, ebx
add esi, dword [ebp - 0x10]
mov dword [ebp - 0x10], 0
test ebx, ebx
je 0x104c8fbb
cmp esi, 0x7fffffff
jne 0x104c8f25
push esi
push ebx
call fcn.1050b4f0
add esp, 8
jmp 0x104c8f27
mov eax, esi
cmp esi, 0x7fffffff
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ebx
sete byte [ebp - 0xc]
test eax, eax
jne 0x104c8e81
jmp 0x104c8fbb
cmp dword [0x10ac2b0c], 0
je 0x104c8fbb
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
push eax
push 0x821d
call dword [0x10ac2aa8]
call fcn.104bb960
xor esi, esi
cmp dword [ebp - 0x1c], esi
jle 0x104c8fbb
nop dword [eax]
mov eax, dword [0x10ac2b0c]
push esi
push 0x1f03
call eax
mov ebx, eax
mov dword [ebp - 0x40], 0x1058dafb
mov dword [ebp - 0x3c], 0
mov byte [ebp - 0x38], 1
test ebx, ebx
je 0x104c8fa9
push closesocket
push ebx
call fcn.1050b4f0
add esp, 8
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], ebx
lea eax, [ebp - 0x40]
push eax
call fcn.104ed440
inc esi
add esp, 4
cmp esi, dword [ebp - 0x1c]
jl 0x104c8f70
cmp byte [0x10a77abc], 0
jne 0x104c8fd6
lea ecx, [edi + 0x8d820]
call fcn.104b4a20
xor al, al
jmp 0x104c9e3b
push 0x61
push 1
push 0x10b13298
call fcn.1050a0a0
add esp, 0xc
cmp byte [0x10a77d2c], 0
jne 0x104c9021
cmp byte [0x10a77df4], 0
jne 0x104c9021
cmp byte [0x10a77f1c], 0
jne 0x104c9021
cmp byte [0x10a77f44], 0
jne 0x104c9021
xor bl, bl
cmp byte [0x10a77a24], bl
jne 0x104c9023
cmp byte [0x10a77d14], bl
jne 0x104c9023
xor cl, cl
jmp 0x104c9025
mov bl, 1
mov cl, 1
mov al, byte [0x10a76804]
or al, cl
mov byte [0x10a76804], al
jne 0x104c907e
cmp byte [0x10a7682c], 0
jne 0x104c9045
cmp byte [0x10a76854], 0
je 0x104c907e
mov ecx, dword [ebp - 0x24]
xor eax, eax
test ecx, ecx
jle 0x104c907e
mov edx, dword [ebp - 0x18]
cmp dword [edx + eax*4], 0x83f0
je 0x104c9061
inc eax
cmp eax, ecx
jl 0x104c9051
jmp 0x104c907e
push 0
push 0x83f0
push 0x83f0
push 0
call fcn.104dd0f0
add esp, 0x10
mov byte [0x10a76804], 1
test bl, bl
jne 0x104c9092
cmp byte [0x10a77a2c], bl
jne 0x104c9092
cmp byte [0x10a77c14], bl
je 0x104c909d
or byte [0x10a7682c], 1
test bl, bl
jne 0x104c90b3
cmp byte [0x10a77a34], 0
jne 0x104c90b3
cmp byte [0x10a77c1c], 0
jne 0x104c90b3
xor al, al
jmp 0x104c90b5
mov al, 1
or byte [0x10a76854], al
cmp byte [0x10a77d1c], 0
je 0x104c90ed
push 0
push 0x8c70
push 0x8c70
push 3
call fcn.104dd0f0
push 0
push 0x8c72
push 0x8c72
push 4
call fcn.104dd0f0
add esp, 0x20
cmp byte [0x10a77b84], 0
jne 0x104c90ff
cmp byte [0x10a77d24], 0
je 0x104c9128
push 0
push 0x8dbb
push 0x8dbb
push 3
call fcn.104dd0f0
push 0
push 0x8dbd
push 0x8dbd
push 4
call fcn.104dd0f0
add esp, 0x20
cmp byte [0x10a77e4c], 0
jne 0x104c913e
cmp byte [0x10a77f14], 0
jne 0x104c913e
xor al, al
jmp 0x104c9140
mov al, 1
mov cl, byte [0x10a7691c]
mov dl, byte [0x10a76944]
or cl, al
cmp byte [0x10a77ab4], 0
mov byte [0x10a7691c], cl
setne al
or byte [0x10a7696c], al
or dl, al
or byte [0x10a76994], al
mov byte [0x10a76944], dl
test cl, cl
jne 0x104c9195
test dl, dl
je 0x104c9195
mov dword [0x10a76908], 0x9274
mov dword [0x10a76910], 0x9274
mov byte [0x10a7691c], 1
cmp byte [0x10a77dc4], 0
jne 0x104c91ab
cmp byte [0x10a77f24], 0
jne 0x104c91ab
xor al, al
jmp 0x104c91ad
mov al, 1
or byte [0x10a769bc], al
or byte [0x10a769e4], al
or byte [0x10a76a0c], al
or byte [0x10a76a34], al
mov al, byte [0x10a77dcc]
or byte [0x10a76a5c], al
or byte [0x10a76a84], al
push 0x8363
push 0x80e0
push 0x80e0
push 0x50
call fcn.104dd0f0
push 0x1400
push 0x8d94
push 0x8231
push 0x26
mov dword [0x10a77474], 0
mov dword [0x10a7747c], 0x80e0
call fcn.104dd0f0
push 0x1401
push 0x8d94
push 0x8232
push 0x27
call fcn.104dd0f0
push 0x1402
push 0x8d94
push 0x8233
push 0x2a
call fcn.104dd0f0
add esp, 0x40
push 0x1403
push 0x8d94
push 0x8234
push 0x2b
call fcn.104dd0f0
push 0x1405
push 0x8d94
push 0x8236
push 0x2f
call fcn.104dd0f0
push 0x1405
push 0x8228
push 0x823c
push 0x3b
call fcn.104dd0f0
push 0x1405
push 0x8d99
push 0x8d70
push 0x4d
call fcn.104dd0f0
add esp, 0x40
cmp byte [0x10a77d44], 0
jne 0x104c92c8
cmp byte [0x10a77c24], 0
jne 0x104c92c8
cmp byte [0x10a77dd4], 0
jne 0x104c92c8
cmp byte [0x10a77a4c], 0
je 0x104c9350
mov dword [edi + 0x8d808], 0x80e1
cmp byte [0x10a77c24], 0
jne 0x104c92f0
cmp byte [0x10a77a4c], 0
jne 0x104c92f0
mov eax, 0x80e1
mov dword [0x10a77240], eax
jmp 0x104c92f5
mov eax, dword [0x10a77240]
test eax, eax
je 0x104c9337
lea eax, [ebp - 0x18]
push eax
push 1
call dword [0x10ac2a84]
push dword [ebp - 0x18]
push 0xde1
call dword [0x10ac2954]
push 0x10
push 0
push 0
push 0
push 0x42
call fcn.104cd6a0
add esp, 0x14
mov esi, eax
lea eax, [ebp - 0x18]
push eax
push 1
call dword [0x10ac29f8]
test esi, esi
je 0x104c9350
push 0x1401
push 0x80e1
push 0x1908
push 0x42
call fcn.104dd0f0
add esp, 0x10
xor edi, edi
xor ebx, ebx
cmp edi, 0x22
je 0x104c93af
cmp edi, 0x57
je 0x104c93af
cmp dword [ebx + 0x10a767f0], 0
jne 0x104c936b
xor al, al
jmp 0x104c93a9
lea eax, [ebp - 0x18]
push eax
push 1
call dword [0x10ac2a84]
push dword [ebp - 0x18]
push 0xde1
call dword [0x10ac2954]
push 0x10
push 0
push 0
push 0
push edi
call fcn.104cd6a0
add esp, 0x14
mov esi, eax
lea eax, [ebp - 0x18]
push eax
push 1
call dword [0x10ac29f8]
test esi, esi
sete al
mov byte [ebx + 0x10a76804], al
add ebx, 0x28
inc edi
cmp ebx, 0xf00
jb 0x104c9354
cmp byte [0x10a77a64], 0
mov edx, 0x49
mov edi, dword [ebp - 0x28]
setne byte [ebp - 5]
xor ecx, ecx
xor ebx, ebx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ebx
nop dword [eax + eax]
xor eax, eax
cmp byte [ebx + 0x10a76804], al
cmovne eax, edx
cmp dword [ebx + 0x10a767f4], 0
movzx eax, ax
mov dword [ebp - 0x20], eax
jne 0x104c93fe
xor dl, dl
jmp 0x104c9441
lea eax, [ebp - 0x30]
push eax
push 1
call dword [0x10ac2a84]
push dword [ebp - 0x30]
push 0xde1
call dword [0x10ac2954]
push 0x10
push 0
push 0
push 1
push dword [ebp - 0x1c]
call fcn.104cd6a0
add esp, 0x14
mov esi, eax
lea eax, [ebp - 0x30]
push eax
push 1
call dword [0x10ac29f8]
mov ecx, dword [ebp - 0x1c]
test esi, esi
sete dl
mov si, word [ebp - 0x20]
xor eax, eax
test dl, dl
mov edx, 0x92
push ecx
cmovne eax, edx
or si, ax
mov word [ebp - 0x20], si
call fcn.104fddb0
add esp, 4
test al, al
jne 0x104c94d7
cmp dword [ebx + 0x10a767f0], 0
jne 0x104c9472
xor eax, eax
jmp 0x104c94cd
lea eax, [ebp - 0x34]
push eax
push 1
call dword [0x10ac2a84]
push dword [ebp - 0x34]
push 0xde1
call dword [0x10ac2954]
push 0x10
push 0
push 1
push 0
push dword [ebp - 0x1c]
call fcn.104cd6a0
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x104c94b7
push 0xde1
call dword [0x10ac2a70]
call fcn.104bb960
mov esi, eax
lea eax, [ebp - 0x34]
push eax
push 1
call dword [0x10ac29f8]
xor eax, eax
test esi, esi
sete al
movzx eax, ax
shl eax, 0xf
or dword [ebp - 0x20], eax
mov si, word [ebp - 0x20]
cmp byte [ebp - 5], 0
mov ebx, dword [ebp - 0x1c]
je 0x104c94f6
push 0x10
push ebx
call fcn.104cef70
add esp, 8
mov dword [ebp - 0xc], 0xc00
test al, al
jne 0x104c94fd
mov dword [ebp - 0xc], 0
push 0x10
push 0
push 0
push ebx
call fcn.104cebc0
push 0x10
push 1
push 0
push dword [ebp - 0x1c]
mov bl, al
call fcn.104cebc0
movzx edx, al
add esp, 0x20
mov eax, 0x1000
movzx ecx, bl
mov ebx, dword [ebp - 0x18]
imul edx, eax
imul ecx, eax
mov eax, dword [0x10ac2aac]
or dx, cx
or dx, word [ebp - 0xc]
or si, dx
mov word [ebp - 0x20], si
test eax, eax
je 0x104c95b3
lea ecx, [ebp - 0x28]
push ecx
push 1
push 0x80a9
push dword [ebx + 0x10a767f0]
push 0x8d41
call eax
call fcn.104bb960
test eax, eax
jne 0x104c9574
cmp dword [ebp - 0x28], eax
jle 0x104c9574
mov eax, 0x2000
jmp 0x104c9576
xor eax, eax
mov esi, dword [ebp - 0x20]
or esi, eax
lea eax, [ebp - 0x28]
push eax
push 1
push 0x80a9
push dword [ebx + 0x10a767f0]
push 0x9100
call dword [0x10ac2aac]
call fcn.104bb960
test eax, eax
jne 0x104c95ac
cmp dword [ebp - 0x28], eax
jle 0x104c95ac
mov eax, 0x4000
jmp 0x104c95ae
xor eax, eax
or esi, eax
mov dword [ebp - 0x20], esi
mov ecx, dword [ebp - 0x1c]
add ebx, 0x28
mov dword [ebp - 0x18], ebx
mov edx, 0x49
mov word [ecx*2 + 0x10ac2f08], si
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ebx, 0xf00
jb 0x104c93e0
mov edx, dword [0x10ac2e88]
or edx, 0x2320000
cmp byte [0x10a77be4], 0
jne 0x104c95fc
cmp byte [0x10a77f04], 0
mov eax, 0x20
je 0x104c9601
mov eax, 0x4000020
xor ecx, ecx
or eax, edx
or ecx, dword [0x10ac2e8c]
cmp byte [0x10a77a9c], 0
je 0x104c961d
mov edx, 2
xor esi, esi
jmp 0x104c962b
xorps xmm0, xmm0
movlpd qword [ebp - 0x10], xmm0
mov esi, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
or ecx, esi
or eax, edx
xor esi, esi
mov edx, 0x840
cmp byte [0x10a77ddc], 0
jne 0x104c9644
mov edx, 0x800
or edx, eax
or esi, ecx
cmp byte [0x10a779fc], 0
jne 0x104c967c
cmp byte [0x10a77aa4], 0
jne 0x104c967c
cmp byte [0x10a77b14], 0
jne 0x104c967c
cmp byte [0x10a77ccc], 0
jne 0x104c967c
xorps xmm0, xmm0
movlpd qword [ebp - 0x10], xmm0
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
jmp 0x104c96a9
cmp dword [0x10ac2b1c], 0
je 0x104c968e
cmp dword [0x10ac2b20], 0
jne 0x104c96a2
mov dword [0x10ac2b1c], 0x104dedf0
mov dword [0x10ac2b20], 0x104dee20
mov eax, 0x10
xor ecx, ecx
or eax, edx
or ecx, esi
cmp byte [0x10a77ae4], 0
je 0x104c96bf
mov edx, 0x40000000
xor esi, esi
jmp 0x104c96cd
xorps xmm0, xmm0
movlpd qword [ebp - 0x10], xmm0
mov esi, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
or eax, edx
or ecx, esi
cmp dword [0x10ac2c0c], 0
mov dword [0x10ac2e88], eax
mov dword [0x10ac2e8c], ecx
jne 0x104c96ef
mov dword [0x10ac2c0c], method.bgfx::CallbackStub.virtual_48
cmp byte [0x10a77a74], 0
jne 0x104c9713
cmp byte [0x10a77c54], 0
jne 0x104c9713
cmp byte [0x10a77e0c], 0
jne 0x104c9713
cmp byte [0x10a77e44], 0
je 0x104c972e
cmp dword [0x10ac29bc], 0
setne al
mov byte [edi + 0x8d7ea], al
mov ecx, dword [0x10ac2e8c]
mov eax, dword [0x10ac2e88]
cmp byte [edi + 0x8d7ea], 0
jne 0x104c9747
xorps xmm0, xmm0
movlpd qword [ebp - 0x10], xmm0
mov esi, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
jmp 0x104c974e
mov edx, 0x40000
xor esi, esi
or edx, eax
or esi, ecx
mov dword [0x10ac2e88], edx
mov dword [0x10ac2e8c], esi
cmp byte [edi + 0x8d7eb], 0
jne 0x104c9777
xorps xmm0, xmm0
movlpd qword [ebp - 0x10], xmm0
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
jmp 0x104c977e
mov eax, 0x1000000
xor ecx, ecx
mov bl, byte [0x10a77cc4]
or eax, edx
or ecx, esi
mov dword [0x10ac2e88], eax
cmp byte [0x10a77d0c], 0
mov dword [0x10ac2e8c], ecx
jne 0x104c97b8
test bl, bl
jne 0x104c97b8
cmp byte [edi + 0x8d89c], bl
jne 0x104c97b8
xorps xmm0, xmm0
movlpd qword [ebp - 0x10], xmm0
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x10]
jmp 0x104c97bf
mov esi, 0x10000
xor edx, edx
or eax, esi
or ecx, edx
mov dword [0x10ac2e88], eax
mov dword [0x10ac2e8c], ecx
test bl, bl
jne 0x104c97ea
cmp byte [edi + 0x8d89c], bl
jne 0x104c97ea
xorps xmm0, xmm0
movlpd qword [ebp - 0x10], xmm0
mov esi, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
jmp 0x104c97f1
mov edx, 0x8000000
xor esi, esi
or edx, eax
or esi, ecx
cmp byte [0x10a77b8c], 0
jne 0x104c9817
cmp byte [0x10a77d34], 0
jne 0x104c9817
xorps xmm0, xmm0
movlpd qword [ebp - 0x10], xmm0
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
jmp 0x104c981e
mov ecx, 0x400000
xor eax, eax
or edx, ecx
or esi, eax
push 0xd33
mov dword [0x10ac2e88], edx
mov dword [0x10ac2e8c], esi
call fcn.104beec0
add esp, 4
mov dword [0x10ac2eb0], eax
cmp byte [0x10a77d0c], 0
mov ebx, 1
jne 0x104c9856
mov dword [0x10ac2eb4], ebx
jmp 0x104c9873
push 0x88ff
call fcn.104beec0
add esp, 4
mov ecx, ebx
cmp eax, 1
cmovg ecx, eax
movzx eax, cx
mov dword [0x10ac2eb4], eax
movzx eax, byte [ebp - 5]
shl eax, 4
push 0x8824
mov dword [0x10ac2ed4], eax
mov dword [0x10ac2edc], 4
call fcn.104beec0
add esp, 4
mov word [0x10ac2e94], 0x101
cmp eax, 1
mov ecx, 8
cmova ebx, eax
cmp ebx, ecx
movzx eax, bl
cmova eax, ecx
movzx eax, al
mov dword [0x10ac2ec0], eax
cmp byte [edi + 0x8d89c], 0
jne 0x104c98de
cmp byte [0x10a77bdc], 0
jne 0x104c98de
cmp byte [0x10a77ef4], 0
jne 0x104c98de
mov byte [edi + 0x8d7ec], 0
jmp 0x104c98fc
lea esi, [edi + 0x8d7e4]
mov byte [edi + 0x8d7ec], 1
push esi
push 1
call dword [0x10ac2a88]
push dword [esi]
call dword [0x10ac2958]
mov al, byte [edi + 0x8d89c]
test al, al
jne 0x104c9919
cmp byte [0x10a77b44], al
jne 0x104c9919
mov word [edi + 0x8d7ed], 0x100
jmp 0x104c9926
mov word [edi + 0x8d7ed], 0x101
test al, al
jne 0x104c9945
cmp byte [0x10a77acc], 0
jne 0x104c9945
cmp byte [0x10a77e84], 0
jne 0x104c9945
cmp byte [0x10a77dbc], 0
jne 0x104c9945
xor al, al
jmp 0x104c9947
mov al, 1
mov byte [edi + 0x8d7f1], al
cmp byte [0x10a77bc4], 0
jne 0x104c9963
cmp byte [0x10a77d74], 0
jne 0x104c9963
xor al, al
jmp 0x104c9965
mov al, 1
mov byte [edi + 0x8d7f2], al
mov byte [edi + 0x8d7f3], 1
cmp byte [0x10a77a3c], 0
jne 0x104c999a
cmp byte [0x10a77bcc], 0
jne 0x104c999a
cmp byte [0x10a77c84], 0
jne 0x104c999a
cmp byte [0x10a77d84], 0
jne 0x104c999a
xor cl, cl
jmp 0x104c999c
mov cl, 1
mov byte [edi + 0x8d7f4], cl
cmp dword [0x10ac2b4c], 0
je 0x104c99c1
cmp dword [0x10ac2aec], 0
je 0x104c99c1
cmp dword [0x10ac2af8], 0
je 0x104c99c1
mov al, 1
jmp 0x104c99c3
xor al, al
and al, cl
mov byte [edi + 0x8d7f4], al
cmp byte [0x10a77b24], 0
jne 0x104c99f3
cmp byte [0x10a77b2c], 0
jne 0x104c99f3
cmp byte [0x10a77cd4], 0
jne 0x104c99f3
cmp byte [0x10a77e2c], 0
jne 0x104c99f3
xor al, al
jmp 0x104c99f5
mov al, 1
mov byte [edi + 0x8d7f5], al
cmp dword [0x10ac2a7c], 0
je 0x104c9a23
cmp dword [0x10ac29e8], 0
je 0x104c9a23
cmp dword [0x10ac2930], 0
je 0x104c9a23
cmp dword [0x10ac2a4c], 0
je 0x104c9a23
mov cl, 1
jmp 0x104c9a25
xor cl, cl
and cl, al
mov byte [edi + 0x8d7f5], cl
mov al, byte [0x10a77b1c]
mov byte [edi + 0x8d7f6], al
mov al, byte [0x10a77e04]
mov dl, byte [0x10a77b1c]
mov byte [edi + 0x8d7f7], al
cmp byte [0x10a77b5c], 0
mov bl, byte [0x10a77e04]
jne 0x104c9a65
cmp byte [0x10a77cec], 0
jne 0x104c9a65
xor al, al
jmp 0x104c9a67
mov al, 1
mov byte [edi + 0x8d7f8], al
test dl, dl
je 0x104c9a81
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x18], 0
jmp 0x104c9a95
xorps xmm0, xmm0
movlpd qword [ebp - 0x10], xmm0
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x30], edx
test bl, bl
je 0x104c9aa9
mov dword [ebp - 0xc], 8
mov dword [ebp - 0x34], 0
jmp 0x104c9abd
xorps xmm0, xmm0
movlpd qword [ebp - 0x10], xmm0
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x34], edx
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0xc], edx
test cl, cl
je 0x104c9aca
mov esi, 0x2000
xor ebx, ebx
jmp 0x104c9ad8
xorps xmm0, xmm0
movlpd qword [ebp - 0x2c], xmm0
mov ebx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x2c]
cmp byte [ebp - 5], 0
mov edx, 0x200004
jne 0x104c9ae8
mov edx, 0x200000
test al, al
je 0x104c9af5
mov eax, 0x400
xor ecx, ecx
jmp 0x104c9b03
xorps xmm0, xmm0
movlpd qword [ebp - 0x2c], xmm0
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
or eax, esi
or ecx, ebx
or eax, dword [ebp - 0xc]
or eax, dword [ebp - 0x30]
or ecx, dword [ebp - 0x34]
or eax, edx
or ecx, dword [ebp - 0x18]
or eax, 0x8000
or dword [0x10ac2e88], eax
or dword [0x10ac2e8c], ecx
cmp byte [0x10a77d3c], 0
je 0x104c9b41
lea eax, [edi + 0x8d7dc]
push eax
push 0x84ff
call dword [0x10ac2aa4]
cmp byte [0x10a77b9c], 0
jne 0x104c9b5c
cmp byte [0x10a77a14], 0
jne 0x104c9b5c
cmp byte [0x10a77d9c], 0
je 0x104c9b6e
lea eax, [edi + 0x8d7e0]
push eax
push 0x8d57
call dword [0x10ac2aa8]
cmp byte [0x10a77e9c], 0
je 0x104c9b90
cmp byte [0x10a77db4], 0
jne 0x104c9b89
cmp byte [0x10a77ce4], 0
je 0x104c9b90
mov eax, 0x80e1
jmp 0x104c9b95
mov eax, 0x1908
mov dword [edi + 0x8d808], eax
cmp byte [edi + 0x8d89c], 0
je 0x104c9bbb
mov ecx, dword [0x10ac2e88]
mov edx, dword [0x10ac2e8c]
or ecx, 0x1000
jmp 0x104c9c83
cmp byte [0x10a77a1c], 0
jne 0x104c9be8
cmp byte [0x10a77aec], 0
jne 0x104c9be8
cmp byte [0x10a77c9c], 0
jne 0x104c9be8
cmp byte [0x10a77e24], 0
je 0x104c9c4d
cmp byte [0x10a77e1c], 0
je 0x104c9c4d
cmp dword [0x10ac2be4], 0
je 0x104c9c11
cmp dword [0x10ac2a28], 0
je 0x104c9c11
cmp dword [0x10ac2a3c], 0
je 0x104c9c11
mov ecx, dword [0x10ac2e88]
or ecx, 0x1000
jmp 0x104c9c53
mov eax, dword [0x10ac2c10]
test eax, eax
je 0x104c9c4d
mov ecx, dword [0x10ac2c14]
test ecx, ecx
je 0x104c9c4d
mov edx, dword [0x10ac2c18]
test edx, edx
je 0x104c9c4d
mov dword [0x10ac2a28], ecx
mov ecx, dword [0x10ac2e88]
mov dword [0x10ac2be4], eax
or ecx, 0x1000
mov dword [0x10ac2a3c], edx
jmp 0x104c9c53
mov ecx, dword [0x10ac2e88]
mov edx, dword [0x10ac2e8c]
mov eax, ecx
and eax, 0x1000
mov dword [ebp - 0x10], eax
jne 0x104c9c83
mov dword [0x10ac2be4], method.bgfx::CallbackStub.virtual_48
mov dword [0x10ac2a28], 0x104ded90
mov dword [0x10ac2a3c], 0x104dedb0
cmp byte [0x10a77b74], 0
je 0x104c9c95
mov eax, 0x20000000
xor esi, esi
jmp 0x104c9ca3
xorps xmm0, xmm0
movlpd qword [ebp - 0x10], xmm0
mov esi, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
or ecx, eax
or edx, esi
cmp byte [0x10a77a84], 0
mov dword [0x10ac2e88], ecx
mov dword [0x10ac2e8c], edx
jne 0x104c9cc5
cmp byte [0x10a77de4], 0
je 0x104c9d0d
cmp dword [0x10ac29d0], 0
je 0x104c9d0d
cmp dword [0x10ac29d4], 0
je 0x104c9d0d
mov eax, dword [0x10ac29d8]
test eax, eax
je 0x104c9d0d
cmp dword [0x10ac2a9c], 0
je 0x104c9d0d
push 0
push 0x104b3ec0
call eax
push 1
push 0
push 0
push 0x9147
push 0x1100
push 0x1100
call dword [0x10ac29d0]
cmp dword [0x10ac2b48], 0
je 0x104c9d1f
cmp dword [0x10ac2b38], 0
jne 0x104c9d33
mov dword [0x10ac2b48], method.bgfx::CallbackStub.virtual_12
mov dword [0x10ac2b38], 0x100a5020
cmp byte [0x10a77b4c], 0
je 0x104c9d47
push 0x884f
call dword [0x10ac2a40]
mov eax, dword [0x10ac2b44]
test eax, eax
je 0x104c9d60
cmp byte [0x10a77b3c], 0
je 0x104c9d60
push 0x8e4d
call eax
cmp dword [0x10ac2c24], 0
je 0x104c9d72
cmp byte [0x10a77c6c], 0
jne 0x104c9d7c
mov dword [0x10ac2c24], method.bgfx::CallbackStub.virtual_48
cmp byte [0x10a77de4], 0
jne 0x104c9d89
xor eax, eax
jmp 0x104c9d99
push 0x82e8
call fcn.104beec0
add esp, 4
movzx eax, ax
mov word [edi + 0x8d7e8], ax
cmp dword [0x10ac2b2c], 0
mov al, byte [0x10a77c74]
mov byte [0x10ac2fcc], al
jne 0x104c9dbd
mov dword [0x10ac2b2c], method.bgfx::CallbackStub.virtual_12
cmp dword [0x10ac2b10], 0
jne 0x104c9dd0
mov dword [0x10ac2b10], method.bgfx::d3d11::RendererContextD3D11.virtual_88
cmp dword [0x10ac2a5c], 0
jne 0x104c9de3
mov dword [0x10ac2a5c], 0x104dedd0
cmp byte [edi + 0x8d7f4], 0
je 0x104c9df7
lea ecx, [edi + 0x86718]
call fcn.104aed30
cmp byte [edi + 0x8d7f5], 0
je 0x104c9e0b
lea ecx, [edi + 0x8cf40]
call fcn.104a94f0
xor esi, esi
mov ebx, 0x10b03298
push esi
push str._3d
push 7
push ebx
call fcn.1050b090
inc esi
add esp, 0x10
add ebx, 0x100
cmp esi, 0x100
jb 0x104c9e12
mov byte [edi + 0x8d884], 0
mov al, 1
lea esp, [ebp - 0x58]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.105116c0
mov esp, ebp
pop ebp
ret 4