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

Disassembly:
mov eax, 0x15c
call fcn.0046cd8b
mov eax, dword [0x596804]
xor eax, esp
mov dword [esp + 0x158], eax
push ebx
push ebp
push edi
mov edi, dword [esp + 0x16c]
mov edx, dword [edi + 0x108]
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x30]
lea ecx, [esp + 0x54]
push ecx
push edx
push 0xffffffffffffffff
xor ebx, ebx
push 0x1141
push 0x1140
push edi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x38], ebx
call eax
add esp, 0x18
mov ebp, eax
mov dword [esp + 0x14], ebp
cmp dword [esp + 0x54], ebx
je 0x50cc36
mov eax, dword [edi + 0x58]
cmp dword [eax + 0x340], 0xc
je 0x50bf42
mov ecx, dword [eax + 0x344]
test dword [ecx + 0xc], 0x100
je 0x50bf1c
call fcn.00511fdb
mov edx, dword [edi + 0xc0]
mov dword [edx + 0x98], eax
mov eax, dword [edi + 0xe4]
mov eax, dword [eax + 0x14c]
cmp eax, ebx
je 0x50bf10
push eax
call fcn.00492b3b
add esp, 4
mov ecx, dword [edi + 0xe4]
mov dword [ecx + 0x14c], ebx
mov edx, dword [edi + 0x58]
pop edi
mov eax, 1
pop ebp
mov dword [edx + 0x354], eax
pop ebx
mov ecx, dword [esp + 0x158]
xor ecx, esp
call fcn.0046c68f
add esp, 0x15c
ret
mov eax, dword [edi + 0xc0]
mov eax, dword [eax + 0x98]
push esi
mov esi, dword [edi + 0x40]
mov dword [esp + 0x3c], esi
cmp eax, ebx
je 0x50bfd1
mov eax, dword [eax + 0x6c]
cmp eax, ebx
je 0x50bf79
push eax
call fcn.0049a97b
mov ecx, dword [edi + 0xc0]
mov edx, dword [ecx + 0x98]
add esp, 4
mov dword [edx + 0x6c], ebx
mov eax, dword [edi + 0xc0]
mov ecx, dword [eax + 0x98]
mov eax, dword [ecx + 0x70]
cmp eax, ebx
je 0x50bfa4
push eax
call fcn.0049b41b
mov edx, dword [edi + 0xc0]
mov eax, dword [edx + 0x98]
add esp, 4
mov dword [eax + 0x70], ebx
mov ecx, dword [edi + 0xc0]
mov edx, dword [ecx + 0x98]
mov eax, dword [edx + 0x74]
cmp eax, ebx
je 0x50bfe2
push eax
call fcn.0049adeb
mov eax, dword [edi + 0xc0]
mov ecx, dword [eax + 0x98]
add esp, 4
mov dword [ecx + 0x74], ebx
jmp 0x50bfe2
call fcn.00511fdb
mov edx, dword [edi + 0xc0]
mov dword [edx + 0x98], eax
mov eax, dword [edi + 0x58]
mov eax, dword [eax + 0x344]
mov ecx, dword [eax + 0x10]
mov ebx, dword [eax + 0xc]
lea edx, [esp + 0x40]
push edx
mov dword [esp + 0x24], ecx
call fcn.0049d97b
mov eax, ebx
add esp, 4
and eax, 0x100
mov dword [esp + 0x60], eax
je 0x50c11e
mov dword [esp + 0x10], 0x28
movzx ebp, byte [esi]
movzx eax, byte [esi + 1]
shl ebp, 8
or ebp, eax
add esi, 2
mov dword [esp + 0x14], ebp
lea ebx, [ebp + 2]
cmp ebp, 0x80
jle 0x50c04d
push 0x561
push 0x560c22
push 0x92
jmp 0x50cbaf
cmp ebx, dword [esp + 0x18]
jle 0x50c06f
push 0x568
push 0x560c22
mov dword [esp + 0x18], 0x32
push 0x13c
jmp 0x50cbaf
push ebp
lea ecx, [esp + 0x68]
push esi
push ecx
call fcn.0046bc9b
mov edx, 0x81
sub edx, ebp
push edx
lea eax, [esp + ebp + 0x74]
push 0
push eax
call fcn.0046c6ab
mov ecx, dword [edi + 0xe4]
mov eax, dword [ecx + 0x14c]
add esp, 0x18
test eax, eax
je 0x50c0ab
push eax
call fcn.00492b3b
add esp, 4
lea edx, [esp + 0x64]
push edx
call fcn.0049a7ab
mov ecx, dword [edi + 0xe4]
mov dword [ecx + 0x14c], eax
mov edx, dword [edi + 0xe4]
add esp, 4
cmp dword [edx + 0x14c], 0
jne 0x50c0e4
push 0x576
push 0x560c22
push 0x41
jmp 0x50cbaf
sub dword [esp + 0x18], ebx
test byte [esp + 0x20], 4
jne 0x50cb57
cmp dword [esp + 0x60], 0
jne 0x50cb57
push 0x731
push 0x560c22
push 0x44
push 0x8d
push 0x14
call fcn.00491a1b
add esp, 0x14
jmp 0x50cbce
test ebx, 0x400
je 0x50c36c
movzx eax, byte [esi]
movzx ecx, byte [esi + 1]
shl eax, 8
or eax, ecx
lea ebx, [eax + 2]
add esi, 2
mov dword [esp + 0x14], eax
cmp ebx, ebp
jle 0x50c160
push 0x587
push 0x560c22
mov dword [esp + 0x18], 0x32
push 0x15e
jmp 0x50cbaf
push 0
push eax
push esi
call fcn.0049692b
add esp, 0xc
mov dword [edi + 0x1a8], eax
test eax, eax
jne 0x50c196
push 0x58c
push 0x560c22
push 3
push 0x8d
push 0x14
call fcn.00491a1b
add esp, 0x14
jmp 0x50cbce
add esi, dword [esp + 0x14]
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
shl eax, 8
or eax, edx
lea ebx, [ebx + eax + 2]
add esi, 2
mov dword [esp + 0x14], eax
cmp ebx, ebp
jle 0x50c1d1
push 0x596
push 0x560c22
mov dword [esp + 0x18], 0x32
push 0x15d
jmp 0x50cbaf
push 0
push eax
push esi
call fcn.0049692b
add esp, 0xc
mov dword [edi + 0x1ac], eax
test eax, eax
jne 0x50c1ee
push 0x59b
jmp 0x50c17b
add esi, dword [esp + 0x14]
movzx eax, byte [esi]
lea ebx, [ebx + eax + 1]
inc esi
mov dword [esp + 0x14], eax
cmp ebx, ebp
jle 0x50c21e
push 0x5a6
push 0x560c22
mov dword [esp + 0x18], 0x32
push 0x15f
jmp 0x50cbaf
push 0
push eax
push esi
call fcn.0049692b
add esp, 0xc
mov dword [edi + 0x1b0], eax
test eax, eax
jne 0x50c23e
push 0x5ab
jmp 0x50c17b
add esi, dword [esp + 0x14]
movzx eax, byte [esi]
movzx ecx, byte [esi + 1]
shl eax, 8
or eax, ecx
lea ebp, [ebx + eax + 2]
add esi, 2
mov dword [esp + 0x14], eax
mov dword [esp + 0x38], ebp
cmp ebp, dword [esp + 0x18]
jle 0x50c27f
push 0x5b5
push 0x560c22
mov dword [esp + 0x18], 0x32
push 0x15c
jmp 0x50cbaf
push 0
push eax
push esi
call fcn.0049692b
add esp, 0xc
mov dword [edi + 0x1b4], eax
test eax, eax
jne 0x50c29f
push 0x5ba
jmp 0x50c17b
add esi, dword [esp + 0x14]
sub dword [esp + 0x18], ebp
lea edx, [esp + 0x10]
push edx
push edi
call fcn.0051490b
add esp, 8
test eax, eax
jne 0x50c2cd
push 0x5c2
push 0x560c22
push 0x173
jmp 0x50cbaf
mov al, byte [esp + 0x20]
test al, 1
je 0x50c350
mov eax, dword [edi + 0xc0]
mov ecx, dword [eax + 0x98]
mov edx, dword [ecx + 0xc]
push edx
call fcn.0048d08b
mov dword [esp + 0x20], eax
add esp, 4
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x50c0e8
mov eax, dword [edi]
mov edx, eax
and edx, 0xffffff00
cmp edx, 0x300
jne 0x50c933
cmp eax, 0x303
jl 0x50c933
push ecx
call fcn.00516e5b
add esp, 4
cmp eax, 0xffffffff
jne 0x50c8d2
push 0x6d2
push 0x560c22
push 0x44
push 0x8d
push 0x14
call fcn.00491a1b
add esp, 0x14
jmp 0x50cbce
test al, 2
je 0x50c0e8
mov eax, dword [edi + 0xc0]
mov ecx, dword [eax + 0x98]
mov edx, dword [ecx + 0x24]
jmp 0x50c2e4
test bl, 1
je 0x50c4bf
call fcn.0049aacb
mov ecx, eax
mov dword [esp + 0x30], ecx
test ecx, ecx
jne 0x50c3a4
push 0x5da
push 0x560c22
push 0x41
push 0x8d
push 0x14
call fcn.00491a1b
add esp, 0x14
jmp 0x50cbce
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
shl eax, 8
or eax, edx
lea ebx, [eax + 2]
add esi, 2
mov dword [esp + 0x14], eax
cmp ebx, ebp
jle 0x50c3d7
push 0x5e2
push 0x560c22
mov dword [esp + 0x18], 0x32
push 0x79
jmp 0x50cbaf
mov ecx, dword [ecx + 0x10]
push ecx
push eax
push esi
call fcn.0049692b
mov edx, dword [esp + 0x3c]
add esp, 0xc
mov dword [edx + 0x10], eax
test eax, eax
jne 0x50c3fa
push 0x5e7
jmp 0x50c17b
add esi, dword [esp + 0x14]
movzx eax, byte [esi]
movzx ecx, byte [esi + 1]
shl eax, 8
or eax, ecx
lea ebp, [ebx + eax + 2]
add esi, 2
mov dword [esp + 0x14], eax
mov dword [esp + 0x38], ebp
cmp ebp, dword [esp + 0x18]
jle 0x50c438
push 0x5f1
push 0x560c22
mov dword [esp + 0x18], 0x32
push 0x78
jmp 0x50cbaf
mov ebx, dword [esp + 0x30]
mov edx, dword [ebx + 0x14]
push edx
push eax
push esi
call fcn.0049692b
add esp, 0xc
mov dword [ebx + 0x14], eax
test eax, eax
jne 0x50c45b
push 0x5f6
jmp 0x50c17b
add esi, dword [esp + 0x14]
sub dword [esp + 0x18], ebp
test byte [esp + 0x20], 1
je 0x50c49f
mov eax, dword [edi + 0xc0]
mov ecx, dword [eax + 0x98]
mov edx, dword [ecx + 0xc]
push edx
call fcn.0048d08b
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0xc0]
mov ecx, dword [eax + 0x98]
mov dword [ecx + 0x6c], ebx
mov dword [esp + 0x34], 0
jmp 0x50c2ee
push 0x601
push 0x560c22
push 0x44
push 0x8d
push 0x14
call fcn.00491a1b
add esp, 0x14
jmp 0x50cbce
test bl, 8
je 0x50c65e
call fcn.0049b52b
mov dword [esp + 0x28], eax
test eax, eax
jne 0x50c4f5
push 0x610
push 0x560c22
push 5
push 0x8d
push 0x14
call fcn.00491a1b
add esp, 0x14
jmp 0x50cbce
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
shl eax, 8
or eax, edx
lea ebx, [eax + 2]
add esi, 2
mov dword [esp + 0x14], eax
cmp ebx, ebp
jle 0x50c528
push 0x618
push 0x560c22
mov dword [esp + 0x18], 0x32
push 0x6e
jmp 0x50cbaf
push 0
push eax
push esi
call fcn.0049692b
mov ecx, dword [esp + 0x34]
add esp, 0xc
mov dword [ecx + 8], eax
test eax, eax
jne 0x50c549
push 0x61d
jmp 0x50c17b
add esi, dword [esp + 0x14]
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
shl eax, 8
or eax, edx
lea ebx, [ebx + eax + 2]
add esi, 2
mov dword [esp + 0x14], eax
cmp ebx, ebp
jle 0x50c581
push 0x627
push 0x560c22
mov dword [esp + 0x18], 0x32
push 0x6c
jmp 0x50cbaf
push 0
push eax
push esi
call fcn.0049692b
mov ecx, dword [esp + 0x34]
add esp, 0xc
mov dword [ecx + 0xc], eax
test eax, eax
jne 0x50c5a2
push 0x62c
jmp 0x50c17b
add esi, dword [esp + 0x14]
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
shl eax, 8
or eax, edx
lea ebp, [ebx + eax + 2]
add esi, 2
mov dword [esp + 0x14], eax
mov dword [esp + 0x38], ebp
cmp ebp, dword [esp + 0x18]
jle 0x50c5e0
push 0x636
push 0x560c22
mov dword [esp + 0x18], 0x32
push 0x6d
jmp 0x50cbaf
push 0
push eax
push esi
call fcn.0049692b
mov ebx, dword [esp + 0x34]
add esp, 0xc
mov dword [ebx + 0x14], eax
test eax, eax
jne 0x50c601
push 0x63b
jmp 0x50c17b
mov al, byte [esp + 0x20]
add esi, dword [esp + 0x14]
sub dword [esp + 0x18], ebp
test al, 1
je 0x50c622
mov eax, dword [edi + 0xc0]
mov ecx, dword [eax + 0x98]
mov edx, dword [ecx + 0xc]
jmp 0x50c635
test al, 2
je 0x50c642
mov eax, dword [edi + 0xc0]
mov ecx, dword [eax + 0x98]
mov edx, dword [ecx + 0x24]
push edx
call fcn.0048d08b
mov dword [esp + 0x20], eax
add esp, 4
mov eax, dword [edi + 0xc0]
mov ecx, dword [eax + 0x98]
mov dword [ecx + 0x70], ebx
mov dword [esp + 0x28], 0
jmp 0x50c2f1
test bl, 6
jne 0x50cb98
test bl, bl
jns 0x50c8ae
call fcn.0049ad8b
mov ebx, eax
mov dword [esp + 0x34], ebx
test ebx, ebx
jne 0x50c69e
push 0x661
push 0x560c22
push 0x41
push 0x8d
push 0x14
call fcn.00491a1b
add esp, 0x14
jmp 0x50cbce
cmp ebp, 3
jl 0x50c892
cmp byte [esi], 3
jne 0x50c892
movzx edx, byte [esi + 2]
push edx
call fcn.00515bcb
add esp, 4
test eax, eax
je 0x50c892
push eax
call fcn.004b494b
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x50c6f4
push 0x67b
push 0x560c22
push 0x10
push 0x8d
push 0x14
call fcn.00491a1b
add esp, 0x14
jmp 0x50cbce
push ebp
push ebx
call fcn.0049b15b
add esp, 8
test eax, eax
jne 0x50c722
push 0x680
push 0x560c22
push 0x10
push 0x8d
push 0x14
call fcn.00491a1b
add esp, 0x14
jmp 0x50cbce
push ebp
call fcn.004b3c4b
push ebx
call fcn.004b2f6b
mov ebx, eax
mov eax, dword [edi + 0x58]
mov ecx, dword [eax + 0x344]
add esp, 8
test byte [ecx + 0x20], 2
mov dword [esp + 0x5c], ebx
je 0x50c772
push ebx
call fcn.004b319b
add esp, 4
cmp eax, 0xa3
jle 0x50c772
push 0x68b
push 0x560c22
mov dword [esp + 0x18], 0x3c
push 0x136
jmp 0x50cbaf
push ebx
call fcn.004b339b
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
je 0x50c872
call fcn.004b441b
mov dword [esp + 0x2c], eax
test eax, eax
je 0x50c872
movzx ebx, byte [esi + 3]
lea ebp, [ebx + 4]
add esi, 4
mov dword [esp + 0x38], ebp
cmp ebp, dword [esp + 0x18]
jg 0x50c856
mov ecx, dword [esp + 0x5c]
mov edx, eax
mov eax, dword [esp + 0x24]
push edx
push ebx
push esi
push eax
push ecx
call fcn.004dabfb
add esp, 0x14
test eax, eax
je 0x50c856
mov al, byte [esp + 0x20]
sub dword [esp + 0x18], ebp
add esi, ebx
test al, 1
je 0x50c7ee
mov edx, dword [edi + 0xc0]
mov eax, dword [edx + 0x98]
mov ecx, dword [eax + 0xc]
jmp 0x50c801
test al, 0x40
je 0x50c80e
mov edx, dword [edi + 0xc0]
mov eax, dword [edx + 0x98]
mov ecx, dword [eax + 0x48]
push ecx
call fcn.0048d08b
mov dword [esp + 0x20], eax
add esp, 4
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x34]
push edx
push ebx
call fcn.0049b18b
mov eax, dword [edi + 0xc0]
mov ecx, dword [eax + 0x98]
mov edx, dword [esp + 0x34]
mov dword [ecx + 0x74], ebx
xor ebx, ebx
push edx
mov dword [esp + 0x40], ebx
call fcn.004b447b
mov eax, dword [esp + 0x30]
push eax
mov dword [esp + 0x3c], ebx
call fcn.004b344b
add esp, 0x10
mov dword [esp + 0x24], ebx
jmp 0x50c2f1
push 0x6a1
push 0x560c22
mov dword [esp + 0x18], 0x32
push 0x132
jmp 0x50cbaf
push 0x695
push 0x560c22
push 0x41
push 0x8d
push 0x14
call fcn.00491a1b
add esp, 0x14
jmp 0x50cbce
push 0x674
push 0x560c22
mov dword [esp + 0x18], 0x50
push 0x13a
jmp 0x50cbaf
test ebx, ebx
je 0x50c0e8
push 0x6c1
push 0x560c22
mov dword [esp + 0x18], 0xa
push 0xf4
jmp 0x50cbaf
movzx ecx, byte [esi + 1]
cmp eax, ecx
je 0x50c902
push 0x6d8
push 0x560c22
push 0x172
push 0x8d
push 0x14
call fcn.00491a1b
mov dword [esp + 0x24], 0x32
jmp 0x50cbbb
movzx edx, byte [esi]
push edx
call fcn.00516e8b
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
jne 0x50c927
push 0x6df
push 0x560c22
push 0x170
jmp 0x50c8e9
mov ebx, dword [esp + 0x18]
add esi, 2
sub ebx, 2
jmp 0x50c940
call fcn.0049ebab
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x20], eax
movzx eax, byte [esi]
movzx ecx, byte [esi + 1]
mov edx, dword [esp + 0x1c]
shl eax, 8
or eax, ecx
sub ebx, 2
push edx
mov dword [esp + 0x18], eax
add esi, 2
mov dword [esp + 0x1c], ebx
call fcn.0048ca5b
add esp, 4
cmp dword [esp + 0x14], ebx
jne 0x50cb3e
cmp ebx, eax
jg 0x50cb3e
test ebx, ebx
jle 0x50cb3e
mov eax, dword [esp + 0x1c]
cmp dword [eax], 6
jne 0x50cac4
mov eax, dword [edi]
mov ecx, eax
and ecx, 0xffffff00
cmp ecx, 0x300
jne 0x50c9ab
cmp eax, 0x303
jge 0x50cac4
mov dword [esp + 0x20], 0
lea ebp, [esp + 0xe8]
mov ebx, 2
lea edx, [esp + 0x40]
push 8
push edx
call fcn.0049ed4b
add esp, 8
cmp ebx, 2
jne 0x50c9e1
mov eax, dword [edi + 0xe4]
mov eax, dword [eax + 0x8c]
jmp 0x50c9ed
mov ecx, dword [edi + 0xe4]
mov eax, dword [ecx + 0x90]
push 0
push eax
lea edx, [esp + 0x48]
push edx
call fcn.0049d9cb
mov eax, dword [edi + 0x58]
push 0x20
add eax, 0xc0
push eax
lea ecx, [esp + 0x54]
push ecx
call fcn.0049db7b
mov edx, dword [edi + 0x58]
push 0x20
add edx, 0xa0
push edx
lea eax, [esp + 0x60]
push eax
call fcn.0049db7b
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
push ecx
push edx
lea eax, [esp + 0x6c]
push eax
call fcn.0049db7b
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x74]
push ebp
push edx
call fcn.0049db8b
mov eax, dword [esp + 0x50]
add dword [esp + 0x5c], eax
dec ebx
add esp, 0x3c
add ebp, eax
test ebx, ebx
jg 0x50c9bf
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
push ecx
push edx
push esi
push eax
lea ecx, [esp + 0xf8]
push ecx
push 0x72
call fcn.004b9b6b
add esp, 0x18
mov dword [esp + 0x14], eax
test eax, eax
jns 0x50caa5
push 0x711
push 0x560c22
mov dword [esp + 0x18], 0x33
push 0x76
jmp 0x50cbaf
jne 0x50cb77
push 0x718
push 0x560c22
mov dword [esp + 0x18], 0x33
push 0x7b
jmp 0x50cbaf
mov edx, dword [esp + 0x20]
push 0
push edx
lea eax, [esp + 0x48]
push eax
call fcn.0049d9cb
mov ecx, dword [edi + 0x58]
push 0x20
add ecx, 0xc0
push ecx
lea edx, [esp + 0x54]
push edx
call fcn.0049db7b
mov eax, dword [edi + 0x58]
push 0x20
add eax, 0xa0
push eax
lea ecx, [esp + 0x60]
push ecx
call fcn.0049db7b
mov edx, dword [esp + 0x60]
push ebp
push edx
lea eax, [esp + 0x6c]
push eax
call fcn.0049db7b
mov ecx, dword [esp + 0x4c]
push ecx
push ebx
lea edx, [esp + 0x78]
push esi
push edx
call fcn.004d940b
add esp, 0x40
test eax, eax
jg 0x50cb77
push 0x727
push 0x560c22
mov dword [esp + 0x18], 0x33
push 0x7b
jmp 0x50cbaf
push 0x6f4
push 0x560c22
mov dword [esp + 0x18], 0x32
push 0x108
jmp 0x50cbaf
cmp dword [esp + 0x18], 0
je 0x50cb77
push 0x738
push 0x560c22
mov dword [esp + 0x18], 0x32
push 0x99
jmp 0x50cbaf
mov eax, dword [esp + 0x1c]
push eax
call fcn.0048cdbb
lea ecx, [esp + 0x44]
push ecx
call fcn.0049dc0b
add esp, 8
mov eax, 1
jmp 0x50cc35
push 0x654
push 0x560c22
mov dword [esp + 0x18], 0x2f
push 0xeb
push 0x8d
push 0x14
call fcn.00491a1b
mov edx, dword [esp + 0x24]
add esp, 0x14
push edx
push 2
push edi
call fcn.0051281b
add esp, 0xc
mov eax, dword [esp + 0x1c]
push eax
call fcn.0048cdbb
mov eax, dword [esp + 0x34]
add esp, 4
test eax, eax
je 0x50cbec
push eax
call fcn.0049a97b
add esp, 4
mov eax, dword [esp + 0x28]
test eax, eax
je 0x50cbfd
push eax
call fcn.0049b41b
add esp, 4
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004b447b
mov edx, dword [esp + 0x28]
push edx
call fcn.004b344b
mov eax, dword [esp + 0x3c]
add esp, 8
test eax, eax
je 0x50cc25
push eax
call fcn.0049adeb
add esp, 4
lea eax, [esp + 0x40]
push eax
call fcn.0049dc0b
add esp, 4
or eax, 0xffffffff
pop esi
mov ecx, dword [esp + 0x164]
pop edi
pop ebp
pop ebx
xor ecx, esp
call fcn.0046c68f
add esp, 0x15c
ret