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

Disassembly:
mov ecx, dword [0x6b21fc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xd4]
cmp eax, dword [ecx + 8]
jbe 0x50bbc6
sub esp, 0x154
lea edi, [esp + 0x119c]
mov ecx, 0x9dc
xor eax, eax
rep stosd dword es:[edi], eax
lea edi, [esp + 0x390c]
mov ecx, 0x9dc
rep stosd dword es:[edi], eax
lea edi, [esp + 0x119c]
mov ecx, 0x9dc
rep stosd dword es:[edi], eax
movzx edx, byte [esp + 0x1184]
mov byte [esp + 0x38b4], dl
movzx edx, byte [esp + 0x1188]
mov byte [esp + 0x38b5], dl
mov edx, dword [esp + 0x15c]
mov ebx, dword [esp + 0x160]
mov dword [esp + 0x119c], edx
mov dword [esp + 0x11a0], ebx
lea edi, [esp + 0x38b8]
lea esi, [esp + 0x164]
call fcn.00468eee
lea edi, [esp + 0x390c]
mov ecx, 0x9dc
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x158]
test byte [edx], al
lea esi, [edx + 8]
movzx ebx, byte [edx + 0x1028]
mov byte [esp + 0x6024], bl
movzx ebx, byte [edx + 0x102c]
mov byte [esp + 0x6025], bl
mov ebx, dword [edx]
mov ebp, dword [edx + 4]
mov dword [esp + 0x390c], ebx
mov dword [esp + 0x3910], ebp
lea edi, [esp + 0x6028]
call fcn.00468eee
xor ecx, ecx
mov ebx, 1
xor ebp, ebp
xor esi, esi
lea edi, [esp + 0x24]
xor ecx, ecx
mov dword [esp + 0x3c], ecx
jmp 0x50ade1
inc ecx
xor eax, eax
mov edx, dword [esp + 0x158]
movzx ebx, byte [esp + 0x29]
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x68]
mov byte [esp + 0x29], bl
cmp ecx, 0x3e8
jge 0x50b392
mov dword [esp + 0x48], ecx
mov dword [esp + 0x44], ebp
mov dword [esp + 0x40], esi
mov dword [esp + 0x68], edi
mov eax, dword [esp + ecx*4 + 0x1e0]
mov dword [esp], eax
call fcn.004fa7e0
lea eax, [esp + 0x15c]
mov dword [esp], eax
mov byte [esp + 0x10], 0
call fcn.004fa9d0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
test eax, eax
jne 0x50b2bf
mov dword [esp + 0x5c], ecx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x70], eax
lea ecx, [0x5281e0]
mov dword [esp], ecx
call fcn.0040c3d0
mov eax, dword [esp + 4]
mov dword [esp + 0x80], eax
mov dword [eax], 0xffffffff
lea edi, [esp + 0x124]
xor eax, eax
call fcn.00468aa4
lea ecx, [0x52bea0]
mov dword [esp], ecx
mov edx, dword [esp + 0x70]
mov dword [esp + 4], edx
lea ebx, [esp + 0x124]
mov dword [esp + 8], ebx
call fcn.0040dfe0
mov eax, dword [esp + 0x80]
jmp 0x50b562
mov ecx, dword [esp + 0x158]
mov dword [ecx + 0x1034], 4
mov dword [ecx + 0x1038], 4
mov edx, dword [0x6b2320]
test edx, edx
je 0x50aed3
call fcn.00468870
mov dword [edi], eax
mov edx, dword [ecx + 0x1030]
mov dword [edi + 4], edx
mov dword [ecx + 0x1030], eax
mov eax, dword [esp + 0x48]
mov edx, dword [ecx + eax*4 + 0x84]
mov dword [esp], edx
call fcn.004fa7e0
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov byte [esp + 0x10], 1
call fcn.004fa9d0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test eax, eax
je 0x50afc6
mov eax, dword [esp + 0x40]
inc eax
mov ecx, dword [esp + 0x44]
cmp ecx, eax
jb 0x50af29
mov edi, dword [esp + 0x68]
mov ebp, ecx
jmp 0x50af5b
mov edx, dword [esp + 0x68]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x52aa00]
mov dword [esp + 0x10], eax
call fcn.0044f350
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x68], edi
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ebp
mov ecx, dword [esp + 0x48]
mov dword [edi + eax*4 - 4], ecx
lea edx, [0x5281e0]
mov dword [esp], edx
call fcn.0040c3d0
mov eax, dword [esp + 4]
mov dword [esp + 0x78], eax
mov dword [eax], 0xffffffff
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + ecx*4 + 0x1e0]
lea edi, [esp + 0xf4]
xor eax, eax
call fcn.00468aa4
lea ecx, [0x538380]
mov dword [esp], ecx
mov dword [esp + 4], edx
lea edx, [esp + 0xf4]
mov dword [esp + 8], edx
call fcn.0040dfe0
jmp 0x50b726
movzx eax, byte [esp + 0x29]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edi
mov dword [esp + 0x6c], edx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x70], ebp
mov byte [esp + 0x29], al
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.004f26c0
mov eax, dword [esp + 4]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], ecx
xor edx, edx
jmp 0x50b591
lea eax, [0x52bea0]
mov dword [esp], eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
lea edx, [0x5d1fbc]
mov dword [esp + 8], edx
call fcn.0040d3f0
movzx eax, byte [esp + 0x10]
test al, al
je 0x50b078
lea eax, [0x52bea0]
mov dword [esp], eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
lea edx, [0x5d1fbc]
mov dword [esp + 8], edx
call fcn.0040d220
mov eax, dword [esp + 0xc]
movzx eax, byte [eax]
shl eax, 4
mov ecx, dword [esp + 0x48]
mov byte [esp + ecx + 0x30e4], al
lea eax, [0x52bea0]
mov dword [esp], eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
lea edx, [0x5d1fc4]
mov dword [esp + 8], edx
call fcn.0040d3f0
movzx eax, byte [esp + 0x10]
test al, al
je 0x50b0ea
mov eax, dword [esp + 0x48]
movzx ecx, byte [esp + eax + 0x30e4]
mov byte [esp + 0x28], cl
lea edx, [0x52bea0]
mov dword [esp], edx
mov ebx, dword [esp + 0x70]
mov dword [esp + 4], ebx
lea ebp, [0x5d1fc4]
mov dword [esp + 8], ebp
call fcn.0040d220
mov eax, dword [esp + 0xc]
movzx eax, byte [eax]
movzx ecx, byte [esp + 0x28]
or ecx, eax
mov eax, dword [esp + 0x48]
mov byte [esp + eax + 0x30e4], cl
lea eax, [0x52bea0]
mov dword [esp], eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
lea edx, [0x5d3498]
mov dword [esp + 8], edx
call fcn.0040d3f0
movzx eax, byte [esp + 0x10]
test al, al
je 0x50b145
lea eax, [0x52bea0]
mov dword [esp], eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
lea ecx, [0x5d3498]
mov dword [esp + 8], ecx
call fcn.0040d220
mov eax, dword [esp + 0xc]
movzx eax, byte [eax]
mov ecx, dword [esp + 0x48]
mov byte [esp + ecx + 0x34cc], al
lea eax, [0x52bea0]
mov dword [esp], eax
mov ecx, dword [esp + 0x6c]
mov dword [esp + 4], ecx
lea edx, [0x5d1fbc]
mov dword [esp + 8], edx
call fcn.0040d3f0
movzx eax, byte [esp + 0x10]
test al, al
je 0x50b1a3
lea eax, [0x52bea0]
mov dword [esp], eax
mov ecx, dword [esp + 0x6c]
mov dword [esp + 4], ecx
lea edx, [0x5d1fbc]
mov dword [esp + 8], edx
call fcn.0040d220
mov eax, dword [esp + 0xc]
movzx eax, byte [eax]
shl eax, 4
mov ecx, dword [esp + 0x48]
mov byte [esp + ecx + 0x5854], al
lea eax, [0x52bea0]
mov dword [esp], eax
mov ecx, dword [esp + 0x6c]
mov dword [esp + 4], ecx
lea edx, [0x5d1fc4]
mov dword [esp + 8], edx
call fcn.0040d3f0
movzx eax, byte [esp + 0x10]
test al, al
je 0x50b215
mov eax, dword [esp + 0x48]
movzx ecx, byte [esp + eax + 0x5854]
mov byte [esp + 0x28], cl
lea edx, [0x52bea0]
mov dword [esp], edx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 4], ebx
lea ebp, [0x5d1fc4]
mov dword [esp + 8], ebp
call fcn.0040d220
mov eax, dword [esp + 0xc]
movzx eax, byte [eax]
movzx ecx, byte [esp + 0x28]
or ecx, eax
mov eax, dword [esp + 0x48]
mov byte [esp + eax + 0x5854], cl
lea eax, [0x52bea0]
mov dword [esp], eax
mov ecx, dword [esp + 0x6c]
mov dword [esp + 4], ecx
lea edx, [0x5d3498]
mov dword [esp + 8], edx
call fcn.0040d3f0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x50b244
mov ecx, dword [esp + 0x48]
jmp 0x50b276
lea eax, [0x52bea0]
mov dword [esp], eax
mov ecx, dword [esp + 0x6c]
mov dword [esp + 4], ecx
lea ecx, [0x5d3498]
mov dword [esp + 8], ecx
call fcn.0040d220
mov eax, dword [esp + 0xc]
movzx eax, byte [eax]
mov ecx, dword [esp + 0x48]
mov byte [esp + ecx + 0x5c3c], al
movzx eax, byte [esp + ecx + 0x34cc]
cmp byte [esp + 0x38b4], al
jne 0x50b296
movzx eax, byte [esp + ecx + 0x5c3c]
mov byte [esp + ecx + 0x34cc], al
movzx eax, byte [esp + ecx + 0x5c3c]
cmp byte [esp + 0x6024], al
jne 0x50adc6
movzx eax, byte [esp + ecx + 0x34cc]
mov byte [esp + ecx + 0x5c3c], al
jmp 0x50adc6
mov dword [esp + 0x64], edx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov ecx, dword [esp + 0x48]
mov dword [esp], ecx
call fcn.00409b00
mov eax, dword [esp + 4]
lea ecx, [0x52aa00]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x50b326
mov eax, dword [eax + 4]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa8], eax
lea eax, [0x552a0b]
mov dword [esp], eax
mov dword [esp + 4], 0x2e
lea eax, [esp + 0x9c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004a1ec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
movzx edx, byte [esp + 0x29]
mov byte [esp + 0x607c], dl
mov dword [esp + 0x6080], eax
mov dword [esp + 0x6084], ecx
add esp, 0x154
ret
test bl, bl
jne 0x50b51b
movzx ecx, byte [edx + 0x18]
test cl, cl
je 0x50b51b
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [esp], esi
call fcn.00409b00
mov eax, dword [esp + 4]
lea ecx, [0x52aa00]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
lea edi, [esp + 0xac]
xor eax, eax
call fcn.00468aaa
lea ecx, [0x50bc50]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb4], 0x33
lea ecx, [0x553802]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xbc], 1
mov dword [esp + 0xc0], 1
lea ecx, [esp + 0x94]
mov dword [esp + 0xb8], ecx
mov ecx, dword [0x68b9c4]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 2
lea ecx, [esp + 0xac]
mov dword [esp + 0xc], ecx
call fcn.004b1180
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.00409b00
mov eax, dword [esp + 4]
lea ecx, [0x52aa00]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
lea edi, [esp + 0xac]
xor eax, eax
call fcn.00468aaa
lea eax, [0x50bbd0]
mov dword [esp + 0xac], eax
mov dword [esp + 0xb4], 0x27
lea eax, [0x550f1b]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xbc], 1
mov dword [esp + 0xc0], 1
lea eax, [esp + 0x8c]
mov dword [esp + 0xb8], eax
mov eax, dword [0x68b9c4]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 2
lea eax, [esp + 0xac]
mov dword [esp + 0xc], eax
call fcn.004b1180
movzx ebx, byte [esp + 0x29]
mov byte [esp + 0x607c], bl
mov dword [esp + 0x6080], 0
mov dword [esp + 0x6084], 0
add esp, 0x154
ret
mov ecx, dword [esp + 0x128]
movzx ecx, byte [ecx]
mov byte [eax + edx], cl
lea ecx, [esp + 0x124]
mov dword [esp], ecx
call fcn.0040e220
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x124]
test edx, edx
je 0x50ae9e
movzx edx, byte [edx]
cmp edx, 4
jb 0x50b53f
jmp 0x50bbb9
xchg ebp, eax
mov byte [esp + edi + 0x11a4], al
xchg ebp, eax
xchg esi, eax
mov byte [esp + edi + 0x3914], al
xchg esi, eax
inc edx
cmp edx, 8
jge 0x50b01a
mov dword [esp + 0x4c], edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x50b5ce
mov ebx, dword [esp + 0x48]
lea edi, [edx + ebx*8]
cmp edi, 0x1f40
jb 0x50b57e
jmp 0x50b70b
lea ebx, [edx + 2]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x4c]
movzx ebp, byte [esp + 0x27]
cmp ebx, 8
jge 0x50b5a6
mov dword [esp + 0x38], ebx
xchg esi, eax
mov byte [esp + 0x26], al
xchg esi, eax
xchg ebp, eax
mov byte [esp + 0x27], al
xchg ebp, eax
lea ebp, [esp + 0x15c]
mov dword [esp], ebp
lea esi, [ebx + eax]
mov dword [esp + 0x54], esi
mov dword [esp + 4], esi
lea edi, [edx + ecx]
mov dword [esp + 0x50], edi
mov dword [esp + 8], edi
call fcn.004f2650
movzx eax, byte [esp + 0xc]
movzx ecx, byte [esp + 0xd]
movzx edx, byte [esp + 0xe]
mov byte [esp + 0x2d], al
mov byte [esp + 0x2e], cl
mov byte [esp + 0x2f], dl
lea eax, [0x538380]
mov dword [esp], eax
mov ecx, dword [esp + 0x5c]
mov dword [esp + 4], ecx
lea edx, [esp + 0x2d]
mov dword [esp + 8], edx
call fcn.0040d3f0
movzx eax, byte [esp + 0x10]
test al, al
je 0x50b66c
mov eax, dword [esp + 0xc]
movzx ebp, byte [eax]
mov eax, dword [esp + 0x38]
lea ecx, [eax - 6]
neg ecx
shl ebp, cl
cmp cl, 0x20
sbb edx, edx
and ebp, edx
movzx edx, byte [esp + 0x27]
or ebp, edx
jmp 0x50b671
movzx ebp, byte [esp + 0x27]
xchg ebp, eax
mov byte [esp + 0x27], al
xchg ebp, eax
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov ecx, dword [esp + 0x54]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
call fcn.004f2650
movzx eax, byte [esp + 0xc]
movzx ecx, byte [esp + 0xd]
movzx edx, byte [esp + 0xe]
mov byte [esp + 0x2a], al
mov byte [esp + 0x2b], cl
mov byte [esp + 0x2c], dl
lea eax, [0x538380]
mov dword [esp], eax
mov ecx, dword [esp + 0x58]
mov dword [esp + 4], ecx
lea edx, [esp + 0x2a]
mov dword [esp + 8], edx
call fcn.0040d3f0
movzx eax, byte [esp + 0x10]
test al, al
je 0x50b6fd
mov edx, dword [esp + 0xc]
movzx esi, byte [edx]
mov edx, dword [esp + 0x38]
lea ecx, [edx - 6]
neg ecx
shl esi, cl
cmp cl, 0x20
sbb ebx, ebx
and esi, ebx
movzx ebx, byte [esp + 0x26]
or esi, ebx
jmp 0x50b5ba
mov edx, dword [esp + 0x38]
movzx esi, byte [esp + 0x26]
jmp 0x50b5ba
mov eax, edi
mov ecx, 0x1f40
call fcn.004688d0
lea eax, [esp + 0xf4]
mov dword [esp], eax
call fcn.0040e220
mov ecx, dword [esp + 0xf4]
test ecx, ecx
je 0x50b792
mov edx, dword [esp + 0xf8]
movzx edx, byte [edx]
mov ebx, dword [esp + 0x158]
cmp byte [ebx + 0x1028], dl
je 0x50b717
mov dword [esp + 0x74], ecx
mov byte [esp + 0x25], dl
mov ecx, dword [esp + 0x48]
mov edx, dword [ebx + ecx*4 + 0x84]
lea edi, [esp + 0xc4]
xor eax, eax
call fcn.00468aa4
lea ecx, [0x538380]
mov dword [esp], ecx
mov dword [esp + 4], edx
lea edx, [esp + 0xc4]
mov dword [esp + 8], edx
call fcn.0040dfe0
movzx ecx, byte [esp + 0x25]
jmp 0x50bb2b
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x3c], ecx
je 0x50b7a9
mov edx, dword [esp + 0x48]
jmp 0x50b87c
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + edx*4 + 0x1e0]
test ebx, ebx
je 0x50b7bc
mov ebx, dword [ebx]
jmp 0x50b7be
xor ebx, ebx
cmp ebx, 4
jne 0x50b875
mov ebx, dword [esp + 0x158]
mov ebp, dword [ebx + edx*4 + 0x84]
test ebp, ebp
je 0x50b7de
mov ebp, dword [ebp]
jmp 0x50b7e0
xor ebp, ebp
cmp ebp, 4
jne 0x50b87c
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp], edx
call fcn.00409b00
mov eax, dword [esp + 4]
lea ecx, [0x52aa00]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
lea eax, [0x55459f]
mov dword [esp], eax
mov dword [esp + 4], 0x3a
lea eax, [esp + 0x84]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004a1ec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x607c], 0
mov dword [esp + 0x6080], eax
mov dword [esp + 0x6084], ecx
add esp, 0x154
ret
mov ebx, dword [esp + 0x158]
mov dword [esp + 0x60], eax
mov dword [esp + 0x118c], eax
mov dword [esp + 0x1190], 4
mov dword [esp + 0x1194], 4
mov ecx, dword [esp + edx*4 + 0x1e0]
mov dword [esp], ecx
call fcn.004fa7e0
lea eax, [esp + 0x15c]
mov dword [esp], eax
mov byte [esp + 0x10], 1
call fcn.004fa9d0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
test eax, eax
jne 0x50ba46
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x70], edx
mov eax, dword [esp + 0x158]
mov dword [eax + 0x1034], 4
mov dword [eax + 0x1038], 4
mov ebx, dword [0x6b2320]
test ebx, ebx
jne 0x50b90b
mov ebx, dword [esp + 0x60]
jmp 0x50b91f
call fcn.00468870
mov ebx, dword [esp + 0x60]
mov dword [edi], ebx
mov ebp, dword [eax + 0x1030]
mov dword [edi + 4], ebp
mov dword [eax + 0x1030], ebx
mov ecx, dword [esp + 0x48]
mov edx, dword [eax + ecx*4 + 0x84]
mov dword [esp], edx
call fcn.004fa7e0
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov byte [esp + 0x10], 1
call fcn.004fa9d0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
test eax, eax
jne 0x50b977
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
xor eax, eax
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
jmp 0x50afdb
mov dword [esp + 0x64], ecx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov ecx, dword [esp + 0x48]
mov dword [esp], ecx
call fcn.00409b00
mov eax, dword [esp + 4]
lea ecx, [0x52aa00]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x50b9de
mov eax, dword [eax + 4]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa8], eax
lea eax, [0x5537cf]
mov dword [esp], eax
mov dword [esp + 4], 0x33
lea eax, [esp + 0x9c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004a1ec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x607c], 0
mov dword [esp + 0x6080], eax
mov dword [esp + 0x6084], ecx
add esp, 0x154
ret
mov dword [esp + 0x64], ebx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov ecx, dword [esp + 0x48]
mov dword [esp], ecx
call fcn.00409b00
mov eax, dword [esp + 4]
lea ecx, [0x52aa00]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x50baad
mov eax, dword [eax + 4]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa8], eax
lea eax, [0x55379c]
mov dword [esp], eax
mov dword [esp + 4], 0x33
lea eax, [esp + 0x9c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004a1ec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x607c], 0
mov dword [esp + 0x6080], eax
mov dword [esp + 0x6084], ecx
add esp, 0x154
ret
lea eax, [esp + 0xc4]
mov dword [esp], eax
call fcn.0040e220
movzx eax, byte [esp + 0x25]
mov ecx, eax
mov edx, dword [esp + 0xc4]
test edx, edx
je 0x50b717
mov edx, dword [esp + 0xc8]
cmp byte [edx], cl
jne 0x50bb15
mov edx, dword [esp + 0x158]
mov ebx, dword [edx + 0x1034]
cmp ebx, 3
jbe 0x50bbad
mov eax, dword [edx + 0x1030]
cmp byte [eax + 3], 0x10
jb 0x50bb6b
mov ecx, edx
mov eax, dword [esp + 0x78]
jmp 0x50bb9b
lea eax, [0x5281e0]
mov dword [esp], eax
call fcn.0040c3d0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x158]
movzx edx, byte [ecx + 0x1028]
mov byte [eax], dl
mov word [eax + 1], 0xffff
movzx edx, byte [esp + 0x25]
mov byte [eax + 3], dl
mov edx, dword [esp + 0x3c]
inc edx
mov ebx, dword [esp + 0x74]
test ebx, ebx
mov ecx, edx
jmp 0x50b79a
mov eax, 3
mov ecx, ebx
call fcn.004688d0
mov eax, edx
mov ecx, 4
call fcn.004688d0
nop
call fcn.00467460
jmp fcn.0050acc0