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

Disassembly:
sub esp, 0x54
push ebx
push ebp
mov ebp, dword [esp + 0x60]
mov ebx, dword [0x81a938]
mov dword [esp + 8], ecx
push esi
movsx eax, word [ebp + 2]
movsx ecx, word [ebp]
shl eax, 9
add eax, ecx
push edi
js 0x550d26
cmp eax, 0x40000
jge 0x550d26
mov eax, dword [ebx + eax*4]
test eax, eax
je 0x550d26
mov esi, eax
jmp 0x550d34
mov edx, dword [ebp]
mov esi, 0xa575f0
mov dword [0xa57614], edx
mov eax, dword [esi + 0x38]
mov edi, dword [0xa54780]
mov edx, dword [esi + 0x140]
sub eax, edi
mov ecx, dword [0xa54794]
mov edi, dword [0xa3aa90]
inc eax
mov dword [esp + 0x14], eax
mov eax, edx
and eax, 0x100
jne 0x550dc7
cmp dword [esp + 0x14], ecx
je 0x550dc7
mov ebx, dword [esp + 0x14]
lea edi, [ecx + 1]
cmp ebx, edi
je 0x550dbb
lea edi, [ecx + 2]
cmp ebx, edi
je 0x550dbb
lea edi, [ecx + 3]
cmp ebx, edi
je 0x550dbb
mov edi, dword [0xa3aa90]
cmp ebx, edi
je 0x550db3
inc edi
cmp ebx, edi
je 0x550dbb
mov edi, dword [0xa3aa90]
add edi, 2
cmp ebx, edi
je 0x550dbb
mov edi, dword [0xa3aa90]
add edi, 3
cmp ebx, edi
je 0x550dbb
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x54
ret 4
mov ebx, dword [0x81a938]
jmp 0x550dc7
mov ebx, dword [0x81a938]
mov edi, dword [0xa3aa90]
test eax, eax
jne 0x55184b
mov ebp, dword [esp + 0x14]
mov al, byte [esi + 0x11a]
cmp ebp, ecx
je 0x551336
lea edx, [ecx + 3]
cmp ebp, edx
je 0x551336
lea edx, [ecx + 1]
cmp ebp, edx
je 0x551336
lea edx, [ecx + 2]
cmp ebp, edx
je 0x551336
cmp eax, 4
jg case.default.0x551879
mov esi, dword [esi + 0x24]
cmp eax, 2
mov dword [esp + 0x3c], esi
je 0x550eac
jge 0x550e29
lea eax, [esp + 0x68]
push 0x839d88
push eax
jmp 0x550e33
lea ecx, [esp + 0x44]
push 0x839d98
push ecx
lea ecx, [esp + 0x44]
call fcn.0042add0
mov esi, dword [eax]
mov ebx, dword [0x81a938]
mov dword [esp + 0x3c], esi
mov edx, dword [esp + 0x3e]
movsx eax, dx
movsx ecx, si
shl eax, 9
add eax, ecx
js 0x550e6b
cmp eax, 0x40000
jge 0x550e6b
mov eax, dword [ebx + eax*4]
test eax, eax
je 0x550e6b
mov ecx, eax
jmp 0x550e76
mov dword [0xa57614], esi
mov ecx, 0xa575f0
xor eax, eax
mov al, byte [ecx + 0x11a]
cmp eax, 2
jne 0x550e1b
mov edi, dword [0xa3aa90]
movsx ecx, dx
mov eax, ecx
movsx ebp, si
shl eax, 9
add eax, ebp
js 0x550eb2
cmp eax, 0x40000
jge 0x550eb2
mov eax, dword [ebx + eax*4]
test eax, eax
je 0x550eb2
mov dword [esp + 0x68], eax
jmp 0x550ec0
mov edx, dword [esp + 0x3e]
jmp 0x550e89
mov dword [0xa57614], esi
mov dword [esp + 0x68], 0xa575f0
mov eax, dword [esp + 0x14]
lea ebp, [edi + 3]
cmp eax, ebp
mov ebp, dword [esp + 0x68]
jne 0x5512c2
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x44], eax
mov al, byte [ebp + 0x11a]
cmp al, 4
jbe 0x55103c
dec word [esp + 0x46]
lea eax, [edx - 1]
mov word [esp + 0x6a], ax
dec esi
movsx eax, ax
movsx ecx, si
shl eax, 9
add eax, ecx
mov word [esp + 0x68], si
js 0x550f16
cmp eax, 0x40000
jge 0x550f16
mov eax, dword [ebx + eax*4]
test eax, eax
jne 0x550f25
mov edx, dword [esp + 0x68]
mov eax, 0xa575f0
mov dword [0xa57614], edx
mov ecx, eax
call fcn.00472c00
mov eax, dword [esp + 0x3e]
mov ecx, dword [esp + 0x3c]
dec eax
mov word [esp + 0x68], cx
mov word [esp + 0x6a], ax
movsx eax, ax
movsx ecx, cx
shl eax, 9
add eax, ecx
js 0x550f64
cmp eax, 0x40000
jge 0x550f64
mov edx, dword [0x81a938]
mov eax, dword [edx + eax*4]
test eax, eax
je 0x550f64
mov ecx, eax
jmp 0x550f72
mov eax, dword [esp + 0x68]
mov ecx, 0xa575f0
mov dword [0xa57614], eax
call fcn.00472c00
mov edx, dword [esp + 0x3e]
mov ecx, dword [esp + 0x3c]
inc ecx
lea eax, [edx - 1]
mov word [esp + 0x68], cx
mov word [esp + 0x6a], ax
movsx eax, ax
movsx ecx, cx
shl eax, 9
add eax, ecx
js 0x550fb2
cmp eax, 0x40000
jge 0x550fb2
mov edx, dword [0x81a938]
mov eax, dword [edx + eax*4]
test eax, eax
je 0x550fb2
mov ecx, eax
jmp 0x550fc0
mov eax, dword [esp + 0x68]
mov ecx, 0xa575f0
mov dword [0xa57614], eax
call fcn.00472c00
mov ecx, dword [ebp + 0x24]
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x36]
mov word [esp + 0x68], cx
lea eax, [edx - 1]
mov word [esp + 0x6a], ax
movsx eax, ax
movsx ecx, cx
shl eax, 9
add eax, ecx
js 0x550ffe
cmp eax, 0x40000
jge 0x550ffe
mov edx, dword [0x81a938]
mov eax, dword [edx + eax*4]
test eax, eax
jne 0x55100c
mov eax, dword [esp + 0x68]
mov dword [0xa57614], eax
mov eax, 0xa575f0
mov ecx, dword [ebp + 0x24]
push 0
mov dword [esp + 0x6c], ecx
mov ecx, dword [0xa3aa90]
movsx edx, byte [eax + 0x11b]
mov eax, dword [0xa54780]
sub edx, 4
push edx
push 0xffffffffffffffff
lea edx, [ecx + eax + 3]
lea eax, [esp + 0x74]
push edx
push eax
jmp 0x551134
dec esi
mov word [esp + 0x6a], dx
movsx edx, si
shl ecx, 9
add ecx, edx
mov word [esp + 0x68], si
js 0x551060
cmp ecx, 0x40000
jge 0x551060
mov ecx, dword [ebx + ecx*4]
test ecx, ecx
jne 0x55106e
mov eax, dword [esp + 0x68]
mov ecx, 0xa575f0
mov dword [0xa57614], eax
call fcn.00472c00
mov eax, dword [esp + 0x3e]
mov ecx, dword [esp + 0x3c]
mov word [esp + 0x6a], ax
mov word [esp + 0x68], cx
movsx eax, ax
movsx ecx, cx
shl eax, 9
add eax, ecx
js 0x5510aa
cmp eax, 0x40000
jge 0x5510aa
mov edx, dword [0x81a938]
mov eax, dword [edx + eax*4]
test eax, eax
je 0x5510aa
mov ecx, eax
jmp 0x5510b8
mov eax, dword [esp + 0x68]
mov ecx, 0xa575f0
mov dword [0xa57614], eax
call fcn.00472c00
mov eax, dword [esp + 0x3e]
mov ecx, dword [esp + 0x3c]
mov word [esp + 0x6a], ax
inc ecx
movsx eax, ax
movsx edx, cx
shl eax, 9
add eax, edx
mov word [esp + 0x68], cx
js 0x5510f5
cmp eax, 0x40000
jge 0x5510f5
mov ecx, dword [0x81a938]
mov eax, dword [ecx + eax*4]
test eax, eax
je 0x5510f5
mov ecx, eax
jmp 0x551104
mov edx, dword [esp + 0x68]
mov ecx, 0xa575f0
mov dword [0xa57614], edx
call fcn.00472c00
movsx ecx, byte [ebp + 0x11b]
mov eax, dword [ebp + 0x24]
mov edx, dword [0xa54780]
mov dword [esp + 0x68], eax
mov eax, dword [0xa3aa90]
sub ecx, 4
push 0
push ecx
lea ecx, [eax + edx + 3]
push 0xffffffffffffffff
lea edx, [esp + 0x74]
push ecx
push edx
mov ebx, dword [esp + 0x24]
mov ecx, ebx
call fcn.0054e3e0
mov eax, dword [ebp + 0x24]
lea ecx, [esp + 0x68]
push 4
push ecx
mov ecx, ebx
mov dword [esp + 0x70], eax
call fcn.0054f110
mov edx, dword [ebp + 0x24]
lea eax, [esp + 0x68]
push 0
push eax
mov ecx, ebx
mov dword [esp + 0x70], edx
call fcn.0054f4e0
mov eax, dword [ebp + 0x24]
mov ecx, dword [0x839d80]
mov dword [esp + 0x10], eax
mov dx, word [esp + 0x12]
add dx, word [0x839d82]
add eax, ecx
lea ecx, [esp + 0x68]
mov word [esp + 0x68], ax
mov word [esp + 0x6a], dx
mov eax, dword [esp + 0x68]
push ecx
mov ecx, ebx
mov dword [esp + 0x6c], eax
call fcn.005508b0
mov eax, dword [ebp + 0x24]
mov edx, dword [0x839d90]
mov dword [esp + 0x10], eax
add eax, edx
mov word [esp + 0x68], ax
mov ax, word [esp + 0x12]
add ax, word [0x839d92]
lea edx, [esp + 0x68]
push edx
mov word [esp + 0x6e], ax
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x6c], ecx
mov ecx, ebx
call fcn.005508b0
lea eax, [esp + 0x44]
mov ecx, ebx
push eax
call fcn.0054d4e0
test al, al
je 0x5511f2
mov ecx, ebx
call fcn.0054bf10
xor edi, edi
lea ecx, [esp + 0x4c]
push edi
push edi
call fcn.0042d4a0
mov eax, dword [esp + 0x54]
mov ecx, 0xa
mov dword [esp + 0x4c], vtable.DynamicVectorClass_class_Cell_.0
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], edi
mov esi, 0xfffffffe
jmp 0x55122e
mov ecx, dword [esp + 0x60]
mov esi, 0xfffffffe
jmp 0x55122e
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x44]
add edx, esi
mov word [esp + 0x68], dx
mov edx, dword [esp + 0x46]
add edx, edi
mov word [esp + 0x6a], dx
mov edx, dword [esp + 0x5c]
cmp edx, eax
jl 0x551270
mov dl, byte [esp + 0x59]
test dl, dl
jne 0x551258
test eax, eax
jne 0x55128a
test ecx, ecx
jle 0x55128a
add eax, ecx
push 0
push eax
mov eax, dword [esp + 0x54]
lea ecx, [esp + 0x54]
call dword [eax + 8]
test al, al
je 0x551286
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x68]
mov eax, ecx
inc ecx
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x50]
mov dword [ecx + eax*4], edx
mov eax, dword [esp + 0x54]
inc esi
cmp esi, 3
jl 0x55122a
inc edi
cmp edi, 2
jl 0x55121f
lea eax, [esp + 0x4c]
mov ecx, 0x81a800
push eax
call fcn.00565540
lea ecx, [esp + 0x4c]
mov dword [esp + 0x4c], vtable.VectorClass_class_Cell_.0
call fcn.0042cfb0
mov edi, dword [0xa3aa90]
mov eax, dword [esp + 0x14]
jmp 0x5512c6
mov ebx, dword [esp + 0x10]
cmp eax, edi
je 0x5512dc
lea ecx, [edi + 1]
cmp eax, ecx
je 0x5512dc
lea edx, [edi + 2]
cmp eax, edx
jne case.default.0x551879
mov ecx, dword [0xa54780]
mov eax, dword [ebp + 0x24]
push 0
mov dword [esp + 0x6c], eax
push 0xffffffffffffffff
lea edx, [edi + ecx + 2]
push 0xffffffffffffffff
lea eax, [esp + 0x74]
push edx
push eax
mov ecx, ebx
call fcn.0054e3e0
mov ecx, dword [ebp + 0x24]
lea edx, [esp + 0x68]
mov dword [esp + 0x68], ecx
push 4
push edx
mov ecx, ebx
call fcn.005523e0
mov eax, dword [ebp + 0x24]
lea ecx, [esp + 0x68]
push 0
push ecx
mov ecx, ebx
mov dword [esp + 0x70], eax
call fcn.005524f0
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x54
ret 4
test al, 1
jne case.default.0x551879
mov esi, dword [esi + 0x24]
cmp eax, 4
mov dword [esp + 0x3c], esi
je 0x5513dd
jge 0x55135c
lea edx, [esp + 0x68]
push 0x839d90
push edx
jmp 0x551366
lea eax, [esp + 0x44]
push 0x839d80
push eax
lea ecx, [esp + 0x44]
call fcn.0042add0
mov esi, dword [eax]
mov ebx, dword [0x81a938]
mov dword [esp + 0x3c], esi
mov edi, dword [esp + 0x3e]
movsx eax, di
movsx ecx, si
shl eax, 9
add eax, ecx
js 0x55139e
cmp eax, 0x40000
jge 0x55139e
mov eax, dword [ebx + eax*4]
test eax, eax
je 0x55139e
mov ecx, eax
jmp 0x5513a9
mov dword [0xa57614], esi
mov ecx, 0xa575f0
xor eax, eax
mov al, byte [ecx + 0x11a]
cmp eax, 4
jne 0x55134e
mov ecx, dword [0xa54794]
movsx eax, di
movsx edx, si
shl eax, 9
add eax, edx
js 0x5513e3
cmp eax, 0x40000
jge 0x5513e3
mov eax, dword [ebx + eax*4]
test eax, eax
je 0x5513e3
mov dword [esp + 0x68], eax
jmp 0x5513f1
mov edi, dword [esp + 0x3e]
jmp 0x5513bc
mov dword [0xa57614], esi
mov dword [esp + 0x68], 0xa575f0
lea eax, [ecx + 3]
cmp ebp, eax
mov ebp, dword [esp + 0x68]
jne 0x5517d7
mov al, byte [ebp + 0x11a]
mov ecx, dword [ebp + 0x24]
test al, 1
mov dword [esp + 0x34], ecx
je 0x55156b
dec word [esp + 0x34]
lea eax, [edi - 1]
mov word [esp + 0x6a], ax
dec esi
movsx eax, ax
movsx edx, si
shl eax, 9
add eax, edx
mov word [esp + 0x68], si
js 0x551443
cmp eax, 0x40000
jge 0x551443
mov eax, dword [ebx + eax*4]
test eax, eax
jne 0x551451
mov eax, dword [esp + 0x68]
mov dword [0xa57614], eax
mov eax, 0xa575f0
mov ecx, eax
call fcn.00472c00
mov eax, dword [esp + 0x3e]
mov ecx, dword [esp + 0x3c]
mov word [esp + 0x6a], ax
dec ecx
movsx eax, ax
movsx edx, cx
shl eax, 9
add eax, edx
mov word [esp + 0x68], cx
js 0x551490
cmp eax, 0x40000
jge 0x551490
mov ecx, dword [0x81a938]
mov eax, dword [ecx + eax*4]
test eax, eax
je 0x551490
mov ecx, eax
jmp 0x55149f
mov edx, dword [esp + 0x68]
mov ecx, 0xa575f0
mov dword [0xa57614], edx
call fcn.00472c00
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x3e]
lea ecx, [eax - 1]
lea eax, [edx + 1]
mov word [esp + 0x6a], ax
mov word [esp + 0x68], cx
movsx eax, ax
movsx ecx, cx
shl eax, 9
add eax, ecx
js 0x5514e1
cmp eax, 0x40000
jge 0x5514e1
mov edx, dword [0x81a938]
mov eax, dword [edx + eax*4]
test eax, eax
je 0x5514e1
mov ecx, eax
jmp 0x5514ef
mov eax, dword [esp + 0x68]
mov ecx, 0xa575f0
mov dword [0xa57614], eax
call fcn.00472c00
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x18], eax
lea ecx, [eax - 1]
mov ax, word [esp + 0x1a]
mov word [esp + 0x6a], ax
mov word [esp + 0x68], cx
movsx eax, ax
movsx ecx, cx
shl eax, 9
add eax, ecx
js 0x55152e
cmp eax, 0x40000
jge 0x55152e
mov edx, dword [0x81a938]
mov eax, dword [edx + eax*4]
test eax, eax
jne 0x55153c
mov eax, dword [esp + 0x68]
mov dword [0xa57614], eax
mov eax, 0xa575f0
mov ecx, dword [ebp + 0x24]
push 0
mov dword [esp + 0x6c], ecx
mov ecx, dword [0xa54794]
movsx edx, byte [eax + 0x11b]
mov eax, dword [0xa54780]
sub edx, 4
push edx
push 0xffffffffffffffff
lea edx, [ecx + eax + 3]
lea eax, [esp + 0x74]
push edx
jmp 0x551666
lea eax, [edi - 1]
mov word [esp + 0x68], si
mov word [esp + 0x6a], ax
movsx eax, ax
shl eax, 9
add eax, edx
js 0x551590
cmp eax, 0x40000
jge 0x551590
mov eax, dword [ebx + eax*4]
test eax, eax
jne 0x55159f
mov ecx, dword [esp + 0x68]
mov eax, 0xa575f0
mov dword [0xa57614], ecx
mov ecx, eax
call fcn.00472c00
mov eax, dword [esp + 0x3e]
mov ecx, dword [esp + 0x3c]
mov word [esp + 0x6a], ax
mov word [esp + 0x68], cx
movsx eax, ax
movsx edx, cx
shl eax, 9
add eax, edx
js 0x5515dd
cmp eax, 0x40000
jge 0x5515dd
mov ecx, dword [0x81a938]
mov eax, dword [ecx + eax*4]
test eax, eax
je 0x5515dd
mov ecx, eax
jmp 0x5515ec
mov edx, dword [esp + 0x68]
mov ecx, 0xa575f0
mov dword [0xa57614], edx
call fcn.00472c00
mov eax, dword [esp + 0x3e]
mov ecx, dword [esp + 0x3c]
inc eax
mov word [esp + 0x68], cx
mov word [esp + 0x6a], ax
movsx eax, ax
movsx ecx, cx
shl eax, 9
add eax, ecx
js 0x551629
cmp eax, 0x40000
jge 0x551629
mov edx, dword [0x81a938]
mov eax, dword [edx + eax*4]
test eax, eax
je 0x551629
mov ecx, eax
jmp 0x551637
mov eax, dword [esp + 0x68]
mov ecx, 0xa575f0
mov dword [0xa57614], eax
call fcn.00472c00
movsx edx, byte [ebp + 0x11b]
mov ecx, dword [ebp + 0x24]
mov eax, dword [0xa54780]
mov dword [esp + 0x68], ecx
mov ecx, dword [0xa54794]
sub edx, 4
push 0
push edx
lea edx, [ecx + eax + 3]
push 0xffffffffffffffff
push edx
lea eax, [esp + 0x78]
mov ebx, dword [esp + 0x20]
push eax
mov ecx, ebx
call fcn.0054e3e0
mov ecx, dword [ebp + 0x24]
lea edx, [esp + 0x68]
mov dword [esp + 0x68], ecx
push 2
push edx
mov ecx, ebx
call fcn.0054e7b0
mov eax, dword [ebp + 0x24]
lea ecx, [esp + 0x68]
push 6
push ecx
mov ecx, ebx
mov dword [esp + 0x70], eax
call fcn.0054eb50
mov edx, dword [ebp + 0x24]
lea eax, [esp + 0x44]
push 0x839d98
push eax
lea ecx, [esp + 0x70]
mov dword [esp + 0x70], edx
call fcn.0042add0
mov ecx, dword [eax]
lea edx, [esp + 0x18]
mov dword [esp + 0x18], ecx
push edx
mov ecx, ebx
call fcn.005508b0
mov eax, dword [ebp + 0x24]
lea ecx, [esp + 0x44]
push 0x839d88
push ecx
lea ecx, [esp + 0x70]
mov dword [esp + 0x70], eax
call fcn.0042add0
mov edx, dword [eax]
lea eax, [esp + 0x18]
push eax
mov ecx, ebx
mov dword [esp + 0x1c], edx
call fcn.005508b0
lea ecx, [esp + 0x34]
push ecx
mov ecx, ebx
call fcn.0054d4e0
test al, al
je 0x55170b
mov ecx, ebx
call fcn.0054bf10
xor edi, edi
lea ecx, [esp + 0x4c]
push edi
push edi
call fcn.0042d4a0
mov eax, dword [esp + 0x54]
mov ecx, 0xa
mov dword [esp + 0x4c], vtable.DynamicVectorClass_class_Cell_.0
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], edi
mov esi, 0xfffffffe
jmp 0x551747
mov ecx, dword [esp + 0x60]
mov esi, 0xfffffffe
jmp 0x551747
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x34]
add edx, edi
mov word [esp + 0x68], dx
mov edx, dword [esp + 0x36]
add edx, esi
mov word [esp + 0x6a], dx
mov edx, dword [esp + 0x5c]
cmp edx, eax
jl 0x551789
mov dl, byte [esp + 0x59]
test dl, dl
jne 0x551771
test eax, eax
jne 0x5517a3
test ecx, ecx
jle 0x5517a3
add eax, ecx
push 0
push eax
mov eax, dword [esp + 0x54]
lea ecx, [esp + 0x54]
call dword [eax + 8]
test al, al
je 0x55179f
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x68]
mov eax, ecx
inc ecx
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x50]
mov dword [ecx + eax*4], edx
mov eax, dword [esp + 0x54]
inc esi
cmp esi, 3
jl 0x551743
inc edi
cmp edi, 2
jl 0x551738
lea eax, [esp + 0x4c]
mov ecx, 0x81a800
push eax
call fcn.00565540
lea ecx, [esp + 0x4c]
mov dword [esp + 0x4c], vtable.VectorClass_class_Cell_.0
call fcn.0042cfb0
mov ecx, dword [0xa54794]
jmp 0x5517db
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
cmp eax, ecx
je 0x5517f1
lea edx, [ecx + 1]
cmp eax, edx
je 0x5517f1
lea edx, [ecx + 2]
cmp eax, edx
jne case.default.0x551879
mov eax, dword [ebp + 0x24]
mov edx, dword [0xa54780]
mov dword [esp + 0x68], eax
push 0
push 0xffffffffffffffff
lea eax, [ecx + edx + 2]
push 0xffffffffffffffff
lea ecx, [esp + 0x74]
push eax
push ecx
mov ecx, ebx
call fcn.0054e3e0
mov edx, dword [ebp + 0x24]
lea eax, [esp + 0x68]
push 2
push eax
mov ecx, ebx
mov dword [esp + 0x70], edx
call fcn.0054e5a0
mov ecx, dword [ebp + 0x24]
lea edx, [esp + 0x68]
mov dword [esp + 0x68], ecx
push 6
push edx
mov ecx, ebx
call fcn.0054e6a0
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x54
ret 4
test dl, 0x80
jne 0x551853
mov esi, dword [esi + 0x2c]
xor eax, eax
xor ecx, ecx
mov al, byte [esi + 0x11e]
cmp eax, 9
setge cl
dec ecx
and ecx, 0xfffffffe
add ecx, 4
cmp eax, 0x11
mov edi, ecx
ja case.default.0x551879
xor edx, edx
mov dl, byte [eax + 0x551a70]
jmp dword [edx*4 + 0x551a50]
mov ebx, dword [esp + 0x10]
mov eax, dword [esi + 0x24]
lea ecx, [esp + 0x68]
push edi
push ecx
mov ecx, ebx
mov byte [esi + 0x11e], 6
mov dword [esp + 0x70], eax
call fcn.0054e5a0
mov edx, dword [esi + 0x24]
add edi, 0xfffffffc
and edi, 7
lea eax, [esp + 0x18]
push edi
push eax
mov ecx, ebx
mov dword [esp + 0x20], edx
call fcn.0054e6a0
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x54
ret 4
mov ecx, dword [esi + 0x24]
lea ebx, [esi + 0x24]
lea edx, [esp + 0x14]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x10]
push edi
push edx
call fcn.0054e7b0
mov eax, dword [ebx]
add edi, 0xfffffffc
and edi, 7
lea ecx, [esp + 0x1c]
push edi
mov edi, dword [esp + 0x14]
push ecx
mov ecx, edi
mov dword [esp + 0x24], eax
call fcn.0054eb50
push 0
push 0
jmp 0x551a11
mov edx, dword [esi + 0x24]
lea ebx, [esi + 0x24]
push edi
mov edi, dword [esp + 0x14]
lea eax, [esp + 0x24]
mov ecx, edi
push eax
mov dword [esp + 0x28], edx
call fcn.0054e7b0
push 0
push 0
jmp 0x551a11
mov ecx, dword [esi + 0x24]
add edi, 0xfffffffc
lea ebx, [esi + 0x24]
and edi, 7
push edi
mov edi, dword [esp + 0x14]
lea edx, [esp + 0x28]
mov dword [esp + 0x28], ecx
push edx
mov ecx, edi
call fcn.0054eb50
push 0
push 0
jmp 0x551a11
mov ebx, dword [esp + 0x10]
mov eax, dword [esi + 0x24]
lea ecx, [esp + 0x28]
push edi
push ecx
mov ecx, ebx
mov byte [esi + 0x11e], 0xf
mov dword [esp + 0x30], eax
call fcn.0054eef0
mov edx, dword [esi + 0x24]
add edi, 0xfffffffc
and edi, 7
lea eax, [esp + 0x2c]
push edi
push eax
mov ecx, ebx
mov dword [esp + 0x34], edx
call fcn.0054f000
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x54
ret 4
mov ecx, dword [esi + 0x24]
lea ebx, [esi + 0x24]
lea edx, [esp + 0x30]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x10]
push edi
push edx
call fcn.0054f110
mov eax, dword [ebx]
add edi, 0xfffffffc
and edi, 7
lea ecx, [esp + 0x34]
push edi
mov edi, dword [esp + 0x14]
push ecx
mov ecx, edi
mov dword [esp + 0x3c], eax
call fcn.0054f4e0
jmp 0x551a0d
mov edx, dword [esi + 0x24]
add edi, 0xfffffffc
and edi, 7
lea ebx, [esi + 0x24]
push edi
mov edi, dword [esp + 0x14]
lea eax, [esp + 0x40]
mov ecx, edi
push eax
mov dword [esp + 0x44], edx
call fcn.0054f4e0
jmp 0x551a0d
mov ecx, dword [esi + 0x24]
lea ebx, [esi + 0x24]
push edi
mov edi, dword [esp + 0x14]
lea edx, [esp + 0x48]
mov dword [esp + 0x48], ecx
push edx
mov ecx, edi
call fcn.0054f110
push 0
push 6
mov ecx, esi
call fcn.00473300
push ebp
mov ecx, edi
mov byte [esi + 0x11e], 0
mov dword [esi + 0x44], 0xffffffff
call fcn.005508b0
push ebx
mov ecx, edi
call fcn.0054d4e0
test al, al
je 0x551a41
mov ecx, edi
call fcn.0054bf10
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x54
ret 4