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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5fd977
mov eax, dword fs:[0]
push eax
sub esp, 0x1ac
mov eax, dword [0x6b66bc]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [ebp + 0x1c]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x198], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x194], eax
cmp dword [eax], 0
jg 0x55a869
push dword [ebp + 0xc]
call fcn.005c4580
movzx ecx, word [ebx + 4]
add esp, 4
mov dword [ebp - 0x1b0], eax
test cx, cx
js 0x55978f
movsx eax, cx
sar eax, 5
mov dword [ebp - 0x1ac], eax
jmp 0x559798
mov esi, dword [ebx + 8]
mov dword [ebp - 0x1ac], esi
mov ecx, dword [ebp - 0x198]
mov esi, str.hebrew
mov eax, dword [ecx]
call dword [eax + 0x58]
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x5597c8
test cl, cl
je 0x5597c4
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x5597c8
add eax, 2
add esi, 2
test cl, cl
jne 0x5597a8
xor eax, eax
jmp 0x5597cd
sbb eax, eax
or eax, 1
mov ecx, dword [ebp - 0x198]
test eax, eax
mov esi, str.chinese
sete byte [ebp - 0x1b1]
mov eax, dword [ecx]
call dword [eax + 0x58]
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x559806
test cl, cl
je 0x559802
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x559806
add eax, 2
add esi, 2
test cl, cl
jne 0x5597e6
xor eax, eax
jmp 0x55980b
sbb eax, eax
or eax, 1
test eax, eax
je 0x559850
mov ecx, dword [ebp - 0x198]
mov esi, str.dangi
mov eax, dword [ecx]
call dword [eax + 0x58]
nop
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x559840
test cl, cl
je 0x55983c
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x559840
add eax, 2
add esi, 2
test cl, cl
jne 0x559820
xor eax, eax
jmp 0x559845
sbb eax, eax
or eax, 1
mov byte [ebp - 0x1a5], 0
test eax, eax
jne 0x559857
mov byte [ebp - 0x1a5], 1
mov edx, dword [ebp - 0x1b0]
cmp edx, 0x26
jne 0x55987e
cmp word [ebp + 0xc], 0x6c
je 0x55a869
mov ecx, dword [ebp - 0x194]
mov dword [ecx], 3
jmp 0x55a869
mov eax, dword [edx*4 + 0x677920]
xor esi, esi
cmp eax, 0x17
jge 0x5598be
mov ecx, dword [ebp - 0x194]
push ecx
cmp edx, 0x22
je 0x5598a6
mov ecx, dword [ebp - 0x198]
push eax
call fcn.004fc4b0
jmp 0x5598b6
mov edx, dword [ebp - 0x198]
mov ecx, edx
mov eax, dword [edx]
call dword [eax + 0xbc]
mov edx, dword [ebp - 0x1b0]
mov esi, eax
mov eax, dword [ebp - 0x194]
cmp dword [eax], 0
jg 0x55a869
mov ecx, dword [edi + 0x2f8]
test ecx, ecx
je 0x5598e3
mov ecx, dword [ecx + edx*4]
test ecx, ecx
je 0x5598e3
mov ecx, dword [ecx + 0x10]
jmp 0x5598e9
mov ecx, dword [edi + 0x144]
mov dword [ebp - 0x19c], ecx
test ecx, ecx
jne 0x5598fe
mov dword [eax], 5
jmp 0x55a869
push 0
push 4
push str.hebr
lea ecx, [ebp - 0x190]
call fcn.004df030
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 4], 0
cmp eax, 0x25
ja case.0x559932.17
movzx eax, byte [eax + 0x55a8d0]
mov ecx, dword [ebp + 0x10]
jmp dword [eax*4 + 0x55a888]
cmp byte [ebp - 0x1a5], 0
je 0x55994b
push 9
push 1
jmp 0x55a743
mov eax, ecx
cmp eax, 5
jne 0x559972
mov eax, dword [edi + 0x2dc]
push dword [eax + 0x18]
push dword [eax + 0x14]
push esi
push ebx
call fcn.00555bf0
add esp, 0x10
mov esi, 9
jmp 0x55a755
cmp eax, 4
mov eax, dword [edi + 0x2dc]
jne 0x559997
push dword [eax + 0x10]
push dword [eax + 0xc]
push esi
push ebx
call fcn.00555bf0
add esp, 0x10
mov esi, 7
jmp 0x55a755
push dword [eax + 8]
push dword [eax + 4]
push esi
push ebx
call fcn.00555bf0
add esp, 0x10
mov esi, 8
jmp 0x55a755
mov eax, dword [edi + 0x2dc]
mov ecx, dword [eax + 0x104]
test ecx, ecx
je case.0x559932.1
mov eax, dword [eax + 0x108]
cmp esi, eax
jg case.0x559932.1
push eax
push ecx
lea eax, [esi - 1]
push eax
push ebx
call fcn.00555bf0
add esp, 0x10
jmp 0x55a753
lea eax, [ebp - 0x190]
push eax
lea ecx, [edi + 0x190]
call fcn.004ed670
test al, al
jne 0x559a08
lea eax, [esi - 0x1389]
cmp eax, 0x3e6
ja 0x559a08
sub esi, 0x1388
mov eax, dword [ebp + 0x10]
mov ecx, edi
cmp eax, 2
jne 0x559a19
push eax
push eax
jmp 0x55a745
push 0xa
push eax
jmp 0x55a745
cmp byte [ebp - 0x1b1], 0
je 0x559a88
mov ecx, dword [ebp - 0x194]
push ecx
mov ecx, dword [ebp - 0x198]
push 1
call fcn.004fc4b0
push eax
call fcn.005519a0
add esp, 4
test al, al
je 0x559a5c
cmp esi, 6
jne 0x559a5c
cmp dword [ebp + 0x10], 3
mov eax, 0xd
cmovge esi, eax
push dword [ebp - 0x194]
mov ecx, dword [ebp - 0x198]
push 1
call fcn.004fc4b0
push eax
call fcn.005519a0
add esp, 4
test al, al
jne 0x559a88
cmp esi, 6
jl 0x559a88
cmp dword [ebp + 0x10], 3
jge 0x559a88
dec esi
mov eax, dword [edi + 0x2dc]
cmp dword [eax + 0xfc], 0
je 0x559ab5
cmp dword [eax + 0x100], 7
jl 0x559ab5
push dword [ebp - 0x194]
mov ecx, dword [ebp - 0x198]
push 0x16
call fcn.004fc4b0
jmp 0x559ab7
xor eax, eax
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x1a0], eax
cmp ecx, 5
jne 0x559b53
cmp dword [ebp - 0x1b0], 2
jne 0x559b11
test eax, eax
je 0x559ae7
mov eax, dword [edi + 0x2dc]
mov edx, dword [eax + 0xfc]
sub edx, 0xffffff80
jmp 0x559ae9
xor edx, edx
mov eax, dword [edi + 0x2dc]
mov ecx, dword [ebp - 0x194]
push ecx
push edx
push dword [eax + 0x30]
push dword [eax + 0x2c]
push esi
push ebx
call fcn.00555c40
add esp, 0x18
mov esi, 3
jmp 0x55a755
test eax, eax
je 0x559b29
mov eax, dword [edi + 0x2dc]
mov edx, dword [eax + 0xfc]
add edx, 0x140
jmp 0x559b2b
xor edx, edx
mov eax, dword [edi + 0x2dc]
mov ecx, dword [ebp - 0x194]
push ecx
push edx
push dword [eax + 0x48]
push dword [eax + 0x44]
push esi
push ebx
call fcn.00555c40
add esp, 0x18
mov esi, 3
jmp 0x55a755
cmp ecx, 4
jne 0x559be3
cmp dword [ebp - 0x1b0], 2
jne 0x559ba1
test eax, eax
je 0x559b77
mov eax, dword [edi + 0x2dc]
mov edx, dword [eax + 0xfc]
jmp 0x559b79
xor edx, edx
mov eax, dword [edi + 0x2dc]
mov ecx, dword [ebp - 0x194]
push ecx
push edx
push dword [eax + 0x20]
push dword [eax + 0x1c]
push esi
push ebx
call fcn.00555c40
add esp, 0x18
mov esi, 1
jmp 0x55a755
test eax, eax
je 0x559bb9
mov eax, dword [edi + 0x2dc]
mov edx, dword [eax + 0xfc]
add edx, 0xc0
jmp 0x559bbb
xor edx, edx
mov eax, dword [edi + 0x2dc]
mov ecx, dword [ebp - 0x194]
push ecx
push edx
push dword [eax + 0x38]
push dword [eax + 0x34]
push esi
push ebx
call fcn.00555c40
add esp, 0x18
mov esi, 2
jmp 0x55a755
cmp ecx, 3
jne 0x559c76
cmp dword [ebp - 0x1b0], 2
jne 0x559c34
test eax, eax
je 0x559c0a
mov eax, dword [edi + 0x2dc]
mov edx, dword [eax + 0xfc]
add edx, 0x40
jmp 0x559c0c
xor edx, edx
mov eax, dword [edi + 0x2dc]
mov ecx, dword [ebp - 0x194]
push ecx
push edx
push dword [eax + 0x28]
push dword [eax + 0x24]
push esi
push ebx
call fcn.00555c40
add esp, 0x18
mov esi, 1
jmp 0x55a755
test eax, eax
je 0x559c4c
mov eax, dword [edi + 0x2dc]
mov edx, dword [eax + 0xfc]
add edx, 0x100
jmp 0x559c4e
xor edx, edx
mov eax, dword [edi + 0x2dc]
mov ecx, dword [ebp - 0x194]
push ecx
push edx
push dword [eax + 0x40]
push dword [eax + 0x3c]
push esi
push ebx
call fcn.00555c40
add esp, 0x18
mov esi, 2
jmp 0x55a755
mov eax, 2
mov dword [ebp - method.icu_64::UnicodeString.virtual_0], vtable.icu_64::UnicodeString.0
mov word [ebp - 0x14c], ax
push 0xa
push ecx
lea eax, [esi + 1]
mov byte [ebp - 4], 1
mov esi, dword [ebp - 0x19c]
mov ecx, edi
push eax
lea eax, [ebp - 0x150]
push eax
push esi
call fcn.0055c6c0
cmp dword [ebp - 0x1a0], 0
je 0x559cc8
mov eax, dword [edi + 0x2dc]
mov eax, dword [eax + 0xfc]
add eax, 0x180
jmp 0x559cca
xor eax, eax
push dword [ebp - 0x194]
push eax
push 1
lea eax, [ebp - 0x150]
push eax
push 0
push ebx
call fcn.00555c40
add esp, 0x18
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x150]
call fcn.004df200
jmp 0x55a753
push 0xa
push ecx
test esi, esi
jne 0x55a743
mov ecx, dword [ebp - 0x198]
push 0xb
mov eax, dword [ecx]
call dword [eax + 0x38]
inc eax
mov ecx, edi
push eax
jmp 0x55a746
mov eax, ecx
mov edx, 3
cmp eax, edx
cmovg ecx, edx
cmp eax, 1
jne 0x559d37
mov eax, 0x51eb851f
imul esi
sar edx, 5
jmp 0x559d46
cmp eax, 2
jne 0x559d4d
mov eax, 0x66666667
imul esi
sar edx, 2
mov esi, edx
shr esi, 0x1f
add esi, edx
push 0xa
push ecx
push esi
mov esi, dword [ebp - 0x19c]
mov ecx, edi
push ebx
push esi
call fcn.0055c6c0
mov eax, dword [ebp + 0x10]
cmp eax, 3
jle 0x55a753
push 0xa
add eax, 0xfffffffd
mov ecx, edi
push eax
push 0
jmp 0x55a74c
cmp ecx, 3
jge 0x559d88
push 0xa
push ecx
jmp 0x55a743
push dword [ebp - 0x194]
mov ecx, dword [ebp - 0x198]
push 7
call fcn.004fc4b0
mov esi, eax
mov eax, dword [ebp - 0x194]
cmp dword [eax], 0
jg 0x55a85e
mov ecx, dword [ebp + 0x10]
mov eax, dword [edi + 0x2dc]
cmp ecx, 5
jne 0x559dd4
push dword [eax + 0x68]
push dword [eax + 0x64]
push esi
push ebx
call fcn.00555bf0
add esp, 0x10
mov esi, 6
jmp 0x55a755
cmp ecx, 4
jne 0x559df3
push dword [eax + 0x50]
push dword [eax + 0x4c]
push esi
push ebx
call fcn.00555bf0
add esp, 0x10
mov esi, 4
jmp 0x55a755
cmp ecx, 6
jne 0x559e12
push dword [eax + 0x60]
push dword [eax + 0x5c]
push esi
push ebx
call fcn.00555bf0
add esp, 0x10
mov esi, 4
jmp 0x55a755
push dword [eax + 0x58]
push dword [eax + 0x54]
push esi
push ebx
call fcn.00555bf0
add esp, 0x10
mov esi, 4
jmp 0x55a755
cmp ecx, 3
jge 0x559e3a
push 0xa
push 1
jmp 0x55a743
mov esi, dword [ebp - 0x194]
mov ecx, dword [ebp - 0x198]
push esi
push 7
call fcn.004fc4b0
cmp dword [esi], 0
mov ecx, eax
jg 0x55a85e
mov eax, dword [ebp + 0x10]
cmp eax, 5
jne 0x559e87
mov eax, dword [edi + 0x2dc]
push dword [eax + 0x88]
push dword [eax + 0x84]
push ecx
push ebx
call fcn.00555bf0
add esp, 0x10
mov esi, 6
jmp 0x55a755
cmp eax, 4
jne 0x559eac
mov eax, dword [edi + 0x2dc]
push dword [eax + 0x70]
push dword [eax + 0x6c]
push ecx
push ebx
call fcn.00555bf0
add esp, 0x10
mov esi, 5
jmp 0x55a755
cmp eax, 6
mov eax, dword [edi + 0x2dc]
jne 0x559ed4
push dword [eax + 0x80]
push dword [eax + 0x7c]
push ecx
push ebx
call fcn.00555bf0
add esp, 0x10
mov esi, 5
jmp 0x55a755
push dword [eax + 0x78]
push dword [eax + 0x74]
push ecx
push ebx
call fcn.00555bf0
add esp, 0x10
mov esi, 5
jmp 0x55a755
mov eax, dword [edi + 0x2dc]
cmp ecx, 5
jge 0x559f14
push dword [eax + 0x90]
push dword [eax + 0x8c]
push esi
push ebx
call fcn.00555bf0
add esp, 0x10
jmp 0x55a753
push dword [eax + 0x98]
push dword [eax + 0x94]
push esi
push ebx
call fcn.00555bf0
add esp, 0x10
jmp 0x55a753
mov eax, 2
mov dword [ebp - method.icu_64::UnicodeString.virtual_0], vtable.icu_64::UnicodeString.0
mov word [ebp - 0x14c], ax
mov ecx, dword [edi + 0x2dc]
mov byte [ebp - 4], al
lea eax, [ebp - 0x150]
push eax
call fcn.005c45c0
push eax
mov ecx, ebx
call fcn.00555ae0
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0
call fcn.004df200
jmp 0x55a753
push 0xa
push ecx
test esi, esi
jne 0x55a743
mov ecx, dword [ebp - 0x198]
push 0xa
mov eax, dword [ecx]
call dword [eax + 0x48]
inc eax
mov ecx, edi
push eax
jmp 0x55a746
push 0x80
push 0
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0x150]
call fcn.004def90
mov ecx, dword [ebp - 0x198]
mov byte [ebp - 4], 3
call fcn.004fd280
push dword [ebp - 0x194]
mov ecx, dword [ebp - 0x198]
mov esi, eax
call fcn.004fd220
push dword [ebp - 0x194]
mov ecx, edi
fstp qword [ebp - 0x1a4]
call fcn.0055c650
mov ecx, eax
mov eax, dword [ebp - 0x194]
cmp dword [eax], 0
jg 0x55a092
mov eax, dword [ebp - 0x1b0]
cmp eax, 0x11
jne 0x55a03b
movsd xmm0, qword [ebp - 0x1a4]
lea edx, [ebp - 0x150]
mov eax, dword [ecx]
push 0
push edx
sub esp, 8
cmp dword [ebp + 0x10], 4
movsd qword [esp], xmm0
push esi
jge 0x55a02f
push 4
call dword [eax + 0x1c]
mov esi, 0xd
jmp 0x55a094
push 3
call dword [eax + 0x1c]
mov esi, 0xc
jmp 0x55a094
cmp eax, 0x17
jne 0x55a0b6
mov eax, dword [ebp + 0x10]
cmp eax, 4
jge 0x55a068
movsd xmm0, qword [ebp - 0x1a4]
lea edx, [ebp - 0x150]
mov eax, dword [ecx]
push 0
push edx
sub esp, 8
movsd qword [esp], xmm0
push esi
push 0xc
jmp 0x55a08f
movsd xmm0, qword [ebp - 0x1a4]
lea edx, [ebp - 0x150]
push 0
push edx
sub esp, 8
cmp eax, 5
mov eax, dword [ecx]
movsd qword [esp], xmm0
push esi
jne 0x55a228
push 0xf
call dword [eax + 0x1c]
xor esi, esi
lea eax, [ebp - 0x150]
mov ecx, ebx
push eax
call fcn.00555ae0
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0
call fcn.004df200
jmp 0x55a755
cmp eax, 0x18
jne 0x55a11b
mov eax, dword [ebp + 0x10]
cmp eax, 1
jne 0x55a0eb
movsd xmm0, qword [ebp - 0x1a4]
lea edx, [ebp - 0x150]
mov eax, dword [ecx]
push 0
push edx
sub esp, 8
movsd qword [esp], xmm0
push esi
push 2
call dword [eax + 0x1c]
mov esi, 0xd
jmp 0x55a094
cmp eax, 4
jne 0x55a092
movsd xmm0, qword [ebp - 0x1a4]
lea edx, [ebp - 0x150]
mov eax, dword [ecx]
push 0
push edx
sub esp, 8
movsd qword [esp], xmm0
push esi
push 1
call dword [eax + 0x1c]
mov esi, 0xc
jmp 0x55a094
cmp eax, 0x1d
jne 0x55a1d3
mov eax, dword [ebp + 0x10]
cmp eax, 1
jne 0x55a14f
movsd xmm0, qword [ebp - 0x1a4]
lea edx, [ebp - 0x150]
mov eax, dword [ecx]
push 0
push edx
sub esp, 8
movsd qword [esp], xmm0
push esi
push 0x12
jmp 0x55a08f
cmp eax, 2
jne 0x55a177
movsd xmm0, qword [ebp - 0x1a4]
lea edx, [ebp - 0x150]
mov eax, dword [ecx]
push 0
push edx
sub esp, 8
movsd qword [esp], xmm0
push esi
push 0x11
jmp 0x55a08f
cmp eax, 3
jne 0x55a19f
movsd xmm0, qword [ebp - 0x1a4]
lea edx, [ebp - 0x150]
mov eax, dword [ecx]
push 0
push edx
sub esp, 8
movsd qword [esp], xmm0
push esi
push 0x13
jmp 0x55a08f
cmp eax, 4
jne 0x55a092
movsd xmm0, qword [ebp - 0x1a4]
lea edx, [ebp - 0x150]
mov eax, dword [ecx]
push 0
push edx
sub esp, 8
movsd qword [esp], xmm0
push esi
push 0
call dword [eax + 0x1c]
mov esi, 0xa
jmp 0x55a094
cmp eax, 0x1f
jne 0x55a22f
mov eax, dword [ebp + 0x10]
cmp eax, 1
jne 0x55a203
movsd xmm0, qword [ebp - 0x1a4]
lea edx, [ebp - 0x150]
mov eax, dword [ecx]
push 0
push edx
sub esp, 8
movsd qword [esp], xmm0
push esi
push 6
jmp 0x55a08f
cmp eax, 4
jne 0x55a092
movsd xmm0, qword [ebp - 0x1a4]
lea edx, [ebp - 0x150]
mov eax, dword [ecx]
push 0
push edx
sub esp, 8
movsd qword [esp], xmm0
push esi
push 5
jmp 0x55a08f
cmp eax, 0x20
jne 0x55a305
mov eax, dword [ebp + 0x10]
cmp eax, 1
jne 0x55a263
movsd xmm0, qword [ebp - 0x1a4]
lea edx, [ebp - 0x150]
mov eax, dword [ecx]
push 0
push edx
sub esp, 8
movsd qword [esp], xmm0
push esi
push 7
jmp 0x55a08f
cmp eax, 2
jne 0x55a28b
movsd xmm0, qword [ebp - 0x1a4]
lea edx, [ebp - 0x150]
mov eax, dword [ecx]
push 0
push edx
sub esp, 8
movsd qword [esp], xmm0
push esi
push 9
jmp 0x55a08f
cmp eax, 3
jne 0x55a2b3
movsd xmm0, qword [ebp - 0x1a4]
lea edx, [ebp - 0x150]
mov eax, dword [ecx]
push 0
push edx
sub esp, 8
movsd qword [esp], xmm0
push esi
push 0xd
jmp 0x55a08f
cmp eax, 4
jne 0x55a2db
movsd xmm0, qword [ebp - 0x1a4]
lea edx, [ebp - 0x150]
mov eax, dword [ecx]
push 0
push edx
sub esp, 8
movsd qword [esp], xmm0
push esi
push 0xb
jmp 0x55a08f
cmp eax, 5
jne 0x55a092
movsd xmm0, qword [ebp - 0x1a4]
lea edx, [ebp - 0x150]
mov eax, dword [ecx]
push 0
push edx
sub esp, 8
movsd qword [esp], xmm0
push esi
jmp 0x55a08d
cmp eax, 0x21
jne 0x55a3be
mov eax, dword [ebp + 0x10]
cmp eax, 1
jne 0x55a339
movsd xmm0, qword [ebp - 0x1a4]
lea edx, [ebp - 0x150]
mov eax, dword [ecx]
push 0
push edx
sub esp, 8
movsd qword [esp], xmm0
push esi
push 8
jmp 0x55a08f
cmp eax, 2
jne 0x55a361
movsd xmm0, qword [ebp - 0x1a4]
lea edx, [ebp - 0x150]
mov eax, dword [ecx]
push 0
push edx
sub esp, 8
movsd qword [esp], xmm0
push esi
push 0xa
jmp 0x55a08f
cmp eax, 3
jne 0x55a389
movsd xmm0, qword [ebp - 0x1a4]
lea edx, [ebp - 0x150]
mov eax, dword [ecx]
push 0
push edx
sub esp, 8
movsd qword [esp], xmm0
push esi
push 0xe
jmp 0x55a08f
cmp eax, 4
je 0x55a048
cmp eax, 5
jne 0x55a092
movsd xmm0, qword [ebp - 0x1a4]
lea edx, [ebp - 0x150]
mov eax, dword [ecx]
push 0
push edx
sub esp, 8
movsd qword [esp], xmm0
push esi
push 0x10
jmp 0x55a08f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
mov eax, ecx
cmp eax, 4
jl 0x55a3fa
mov eax, dword [edi + 0x2dc]
push dword [eax + 0xe0]
push dword [eax + 0xdc]
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push ebx
call fcn.00555bf0
add esp, 0x10
jmp 0x55a753
cmp eax, 3
jne 0x55a413
mov eax, dword [edi + 0x2dc]
push dword [eax + 0xe8]
push dword [eax + 0xe4]
jmp 0x55a3dd
push 0xa
push eax
mov eax, 0x55555556
mov ecx, edi
imul esi
mov eax, edx
inc edx
shr eax, 0x1f
add eax, edx
push eax
jmp 0x55a746
mov eax, ecx
cmp eax, 4
jl 0x55a448
mov eax, dword [edi + 0x2dc]
push dword [eax + 0xf0]
push dword [eax + 0xec]
jmp 0x55a3dd
cmp eax, 3
jne 0x55a413
mov eax, dword [edi + 0x2dc]
push dword [eax + 0xf8]
push dword [eax + 0xf4]
jmp 0x55a3dd
mov esi, dword [ebp - 0x194]
mov ecx, dword [ebp - 0x198]
push esi
push 0xb
call fcn.004fc4b0
cmp eax, 0xc
mov eax, dword [ebp + 0x10]
jne 0x55a52e
cmp byte [edi + 0x2f0], 0
je 0x55a4a3
mov ecx, dword [ebp - 0x198]
push esi
push 0xc
call fcn.004fc4b0
test eax, eax
jne 0x55a52b
cmp byte [edi + 0x2f1], 0
je 0x55a4be
mov ecx, dword [ebp - 0x198]
push esi
push 0xd
call fcn.004fc4b0
test eax, eax
jne 0x55a52b
mov ecx, dword [ebp - 0x198]
push esi
push 9
call fcn.004fc4b0
mov edx, eax
mov eax, dword [ebp + 0x10]
cmp eax, 3
jg 0x55a4e7
mov ecx, dword [edi + 0x2dc]
shl edx, 6
add edx, dword [ecx + 0x24c]
jmp 0x55a514
cmp eax, 4
je 0x55a502
cmp eax, 5
jg 0x55a502
mov eax, dword [edi + 0x2dc]
shl edx, 6
add edx, dword [eax + 0x25c]
jmp 0x55a511
mov eax, dword [edi + 0x2dc]
shl edx, 6
add edx, dword [eax + 0x254]
mov eax, dword [ebp + 0x10]
test edx, edx
je 0x55a52e
test byte [edx + 4], 1
jne 0x55a52e
push edx
mov ecx, ebx
call fcn.00555ae0
jmp 0x55a753
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x18]
push esi
push dword [ebp - 0x198]
push dword [ebp - 0x1b8]
push ecx
push dword [ebp + 0x14]
mov ecx, edi
push eax
push 0x61
push ebx
call fcn.00559710
jmp 0x55a753
mov esi, dword [ebp - 0x194]
lea eax, [edi + 0x210]
push esi
push eax
call fcn.005cc990
add esp, 8
mov dword [ebp - 0x19c], eax
cmp dword [esi], 0
jg 0x55a753
push esi
test eax, eax
jne 0x55a5a1
push dword [ebp - 0x198]
mov ecx, dword [ebp + 0x18]
push dword [ebp - 0x1b8]
push ecx
push dword [ebp + 0x14]
mov ecx, edi
push dword [ebp + 0x10]
push 0x61
push ebx
call fcn.00559710
jmp 0x55a753
mov ecx, dword [ebp - 0x198]
push 0xb
call fcn.004fc4b0
cmp byte [edi + 0x2f0], 0
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x194], 0
je 0x55a5db
mov ecx, dword [ebp - 0x198]
push esi
push 0xc
call fcn.004fc4b0
mov dword [ebp - 0x194], eax
xor eax, eax
cmp byte [edi + 0x2f1], al
je 0x55a5f3
mov ecx, dword [ebp - 0x198]
push esi
push 0xd
call fcn.004fc4b0
mov edx, dword [ebp - 0x1a0]
mov ecx, dword [ebp + 0x10]
test edx, edx
jne 0x55a65e
cmp dword [ebp - 0x194], 0
mov edx, dword [ebp - 0x19c]
jne 0x55a61d
test eax, eax
jne 0x55a61d
mov al, byte [edx]
test al, al
jne 0x55a6c8
mov eax, dword [ebp - 0x1a0]
xor ecx, ecx
mov edx, dword [edx + eax*4 + 4]
cmp edx, 0xa
je 0x55a6bc
cmp edx, 0xb
je 0x55a6bc
mov ecx, dword [ebp + 0x10]
test edx, edx
je 0x55a6c8
cmp ecx, 3
jg 0x55a684
mov eax, dword [edi + 0x2dc]
mov ecx, edx
shl ecx, 6
add ecx, dword [eax + 0x24c]
jmp 0x55a6b2
cmp edx, 0xc
mov edx, dword [ebp - 0x19c]
jne 0x55a61d
cmp dword [ebp - 0x194], 0
jne 0x55a61d
test eax, eax
jne 0x55a61d
mov al, byte [edx + 1]
test al, al
je 0x55a61d
mov edx, 1
jmp 0x55a646
cmp ecx, 4
je 0x55a6a1
cmp ecx, 5
jg 0x55a6a1
mov eax, dword [edi + 0x2dc]
mov ecx, edx
shl ecx, 6
add ecx, dword [eax + 0x25c]
jmp 0x55a6b2
mov eax, dword [edi + 0x2dc]
mov ecx, edx
shl ecx, 6
add ecx, dword [eax + 0x254]
test ecx, ecx
je 0x55a6bc
test byte [ecx + 4], 1
je 0x55a71e
test edx, edx
je 0x55a6c5
cmp edx, 1
jne 0x55a71e
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x19c]
mov edx, dword [ebp - 0x1a0]
mov edx, dword [eax + edx*4 + 4]
cmp ecx, 3
jg 0x55a6f0
mov eax, dword [edi + 0x2dc]
mov ecx, edx
shl ecx, 6
add ecx, dword [eax + 0x24c]
jmp 0x55a71e
cmp ecx, 4
je 0x55a70d
cmp ecx, 5
jg 0x55a70d
mov eax, dword [edi + 0x2dc]
mov ecx, edx
shl ecx, 6
add ecx, dword [eax + 0x25c]
jmp 0x55a71e
mov eax, dword [edi + 0x2dc]
mov ecx, edx
shl ecx, 6
add ecx, dword [eax + 0x254]
cmp edx, 0xa
je 0x55a738
cmp edx, 0xb
je 0x55a738
test byte [ecx + 4], 1
jne 0x55a738
push ecx
mov ecx, ebx
call fcn.00555ae0
jmp 0x55a753
push esi
jmp 0x55a57c
push 0xa
push dword [ebp + 0x10]
mov ecx, edi
push esi
mov esi, dword [ebp - 0x19c]
push ebx
push esi
call fcn.0055c6c0
xor esi, esi
cmp dword [ebp + 0x18], 0
jne 0x55a828
cmp dword [edi + 0x314], 0
je 0x55a828
mov ecx, ebx
call fcn.004e0e70
mov edx, dword [ebp - 0x1ac]
cmp eax, edx
jle 0x55a82e
push edx
mov ecx, ebx
call fcn.004df7b0
push eax
call fcn.004e9a90
add esp, 4
test al, al
je 0x55a828
mov eax, dword [ebp + 0x14]
sub eax, 0x102
je 0x55a7ce
sub eax, 1
je 0x55a7bd
sub eax, 1
jne 0x55a828
mov eax, dword [edi + 0x2dc]
mov al, byte [eax + esi*2 + 0x231]
jmp 0x55a7ca
mov eax, dword [edi + 0x2dc]
mov al, byte [eax + esi*2 + 0x230]
test al, al
je 0x55a828
mov esi, dword [ebp - 0x1ac]
lea ecx, [ebp - 0x150]
push esi
push ebx
call fcn.004dec80
push 0x300
lea eax, [edi + 0x210]
mov byte [ebp - 4], 4
push eax
push dword [edi + 0x314]
lea ecx, [ebp - 0x150]
call fcn.0059a3b0
lea eax, [ebp - 0x150]
mov ecx, ebx
push eax
call fcn.004e0e70
push eax
push esi
mov ecx, ebx
call fcn.004e13a0
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0
call fcn.004df200
mov edx, dword [ebp - 0x1ac]
movzx eax, word [ebx + 4]
test ax, ax
js 0x55a83f
movsx ecx, ax
sar ecx, 5
jmp 0x55a842
mov ecx, dword [ebx + 8]
mov ebx, dword [ebp - 0x1b8]
push ecx
mov ecx, dword [ebp - 0x1b0]
push edx
mov eax, dword [ebx]
push dword [ecx*4 + 0x6779b8]
mov ecx, ebx
call dword [eax + 4]
lea ecx, [ebp - 0x190]
call fcn.004df200
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005f4480
mov esp, ebp
pop ebp
ret 0x20