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

Disassembly:
push 0xffffffffffffffff
push 0x101c51f5
mov eax, dword fs:[0]
push eax
sub esp, 0x138
push ebx
push ebp
push esi
push edi
mov eax, dword [0x102832a0]
xor eax, esp
push eax
lea eax, [esp + 0x14c]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x160]
mov ebx, dword [esp + 0x15c]
mov eax, dword [esp + 0x164]
push eax
push str._page_number__d__position_absolute_
push ebp
call fcn.10106bd7
mov ecx, dword [ebx + 0x3c]
mov edx, dword [ebx + 0x40]
add esp, 0xc
push ecx
push edx
push str._top_0__left_0__height__d__width__d___n
push ebp
call fcn.10106bd7
mov eax, dword [ebx + 0x2c]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
sub ecx, dword [eax + 0xc]
mov edi, dword [ebx + 0x28]
sar ecx, 6
add esp, 0x10
cmp edi, ecx
jge 0x1005b62b
lea esp, [esp]
mov edx, dword [ebx + 0x2c]
push edx
mov ecx, edi
call fcn.10057dd0
mov esi, eax
mov eax, dword [esi + 0x1c]
push eax
push str._t_s_n
push ebp
call fcn.10106bd7
mov eax, dword [esi + 0x1c]
add esp, 0xc
cmp eax, esi
je 0x1005b60f
push eax
call fcn.10109eb5
add esp, 4
push esi
call fcn.100f5c66
mov eax, dword [ebx + 0x2c]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
sub ecx, dword [eax + 0xc]
inc edi
sar ecx, 6
add esp, 4
cmp edi, ecx
jl 0x1005b5e0
mov eax, dword [ebx]
mov dword [ebx + 4], eax
test eax, eax
je 0x1005b8c8
jmp 0x1005b640
mov eax, dword [ebx + 4]
cmp byte [eax], 0
je 0x1005b721
mov eax, dword [eax + 8]
mov edx, dword [eax + 0x1c]
mov ecx, dword [eax + 0xc]
push edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 4]
push ecx
push edx
push eax
push str._image_left__d__top__d__Pt1X__d__Pt1Y__d_
push ebp
call fcn.10106bd7
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + 8]
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x10]
push edx
push eax
push str.Pt2X__d__Pt2Y__d_
push ebp
call fcn.10106bd7
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + 8]
mov edx, dword [eax + 0x28]
mov eax, dword [eax + 0x18]
push edx
push eax
push str.Pt3X__d__Pt3Y__d_
push ebp
call fcn.10106bd7
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + 8]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x14]
push edx
push eax
push str.Pt4X__d__Pt4Y__d_
push ebp
call fcn.10106bd7
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + 8]
mov edx, dword [eax + 0x30]
mov eax, dword [eax + 0x2c]
add esp, 0x48
push edx
push eax
push str.width__d__height__d_
push ebp
call fcn.10106bd7
add esp, 0x10
cmp dword [0x102b00e8], 5
jne 0x1005b6ed
push str.angle_0_
push ebp
call fcn.10106bd7
add esp, 8
jmp 0x1005b705
mov ecx, dword [ebx + 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0x34]
push eax
push str.angle__d_
push ebp
call fcn.10106bd7
add esp, 0xc
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + 8]
mov eax, dword [eax]
push eax
push str.name__s___n
push ebp
call fcn.10106bd7
add esp, 0xc
jmp 0x1005b8b7
mov eax, dword [eax + 4]
movzx edx, byte [eax + 0x1c]
fld qword [eax + 8]
mov ecx, dword [eax + 0x30]
push edx
mov edx, dword [eax + 0x2c]
push ecx
mov ecx, dword [eax + 0x34]
push edx
push ecx
call fcn.1010cd70
push eax
push str._n_path_Line_Width__d__Join_Style__d__Cap_Style__d__Miter_Length__d__Fill__d_
push ebp
call fcn.10106bd7
mov esi, dword [esp + 0x178]
mov edx, dword [esi + 4]
mov eax, dword [edx + 4]
fild dword [eax + 0x18]
sub esp, 0x14
fld qword [0x1026bd28]
fmul st(1), st(0)
fld qword [0x1026be10]
fmul st(2), st(0)
fxch st(2)
fstp qword [esp + 0x28]
fild dword [eax + 0x14]
fmul st(1)
fmul st(2)
fstp qword [esp + 0x20]
fild dword [eax + 0x10]
fmul st(1)
fmul st(2)
fstp qword [esp + 0x18]
fild dword [eax + 0x28]
fmul st(1)
fmul st(2)
fstp qword [esp + 0x10]
fild dword [eax + 0x24]
fmul st(1)
fmul st(2)
fstp qword [esp + 8]
fimul dword [eax + 0x20]
fmulp st(1)
fstp qword [esp]
push str.FillColor.R__f__FillColor.G__f__FillColor.B__f__StrokeColor.R__f__StrokeColor.G__f__StrokeColor.B__f_
push ebp
call fcn.10106bd7
mov eax, dword [esi + 4]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0x40]
fld qword [eax + 0x38]
add esp, 0x38
push ecx
sub esp, 8
fstp qword [esp]
push str.Dash__lf__Length__d___n
push ebp
call fcn.10106bd7
mov edx, dword [esi + 4]
mov eax, dword [edx + 4]
mov ecx, dword [eax]
xor ebx, ebx
add esp, 0x14
cmp dword [ecx + 0x1c], ebx
jle 0x1005b8a2
jmp 0x1005b7f0
mov edx, dword [esp + 0x15c]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 4]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
mov edi, dword [eax + ebx*4]
push str._t_subpath__n
push ebp
call fcn.10106bd7
xor esi, esi
add esp, 8
cmp dword [edi + 0xc], esi
jle 0x1005b87b
lea ebx, [ebx]
mov ecx, dword [edi + 8]
mov eax, dword [ecx + esi*4]
mov edx, dword [edi + 4]
fld qword [edx + esi*8]
mov ecx, dword [edi]
fld qword [ecx + esi*8]
xor edx, edx
fld qword [0x1026c078]
test eax, eax
fmul st(2), st(0)
setne dl
fld qword [0x1026bfc8]
fdiv st(3), st(0)
push edx
fld qword [0x1026bd40]
fadd st(4), st(0)
fxch st(4)
call fcn.1010cd70
fxch st(2)
fmulp st(1)
push eax
fdivrp st(1)
faddp st(1)
call fcn.1010cd70
push eax
push str._t_t_point_x__d__y__d__curve__d___n
push ebp
call fcn.10106bd7
inc esi
add esp, 0x14
cmp esi, dword [edi + 0xc]
jl 0x1005b820
push str._t__subpath__n
push ebp
call fcn.10106bd7
mov eax, dword [esp + 0x164]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 4]
mov eax, dword [edx]
inc ebx
add esp, 8
cmp ebx, dword [eax + 0x1c]
jl 0x1005b7f0
push str.__path__n
push ebp
call fcn.10106bd7
mov ebx, dword [esp + 0x164]
add esp, 8
mov ecx, dword [ebx + 4]
mov edx, dword [ecx + 0xc]
mov dword [ebx + 4], edx
test edx, edx
jne 0x1005b640
mov esi, dword [ebx + 0x18]
mov dword [esp + 0x84], 0
mov dword [esp + 0x74], esi
test esi, esi
je 0x1005ddc3
cmp dword [esi + 0x8c], 0
je 0x1005ddb1
fld qword [esi + 0x40]
fsub qword [esi + 0x38]
fadd qword [0x1026bd40]
call fcn.1010cd70
cmp dword [esi + 0x70], 0
lea ebp, [esi + 0x70]
mov dword [esp + 0x28], eax
jle 0x1005ba6c
mov edx, dword [ebx + 0x2c]
mov ebx, dword [esp + 0x74]
mov ecx, dword [edx]
mov eax, dword [ebx + 0x88]
mov edx, dword [edx]
mov ecx, dword [ecx + 0xc]
mov esi, dword [edx + 0xc]
shl eax, 6
mov edi, dword [ecx + eax]
add ecx, eax
add esi, eax
call fcn.10057740
mov esi, dword [eax + 0x1c]
push str.Courier_New
push esi
call fcn.10106e01
add esp, 8
test eax, eax
je 0x1005b995
push str.Courier
push esi
call fcn.10106e01
add esp, 8
test eax, eax
je 0x1005b995
mov eax, dword [ebp]
fild dword [esp + 0x28]
mov dword [esp + 0x54], eax
imul eax, edi
mov dword [esp + 0x44], eax
fild dword [esp + 0x44]
fmul qword [0x1026bd20]
fadd qword [ebx + 0x68]
fld st(0)
fld qword [0x1026bd40]
fmul st(1), st(0)
fxch st(1)
faddp st(2)
fxch st(1)
fmul qword [0x1026c148]
jmp 0x1005b9ca
mov eax, dword [ebp]
fild dword [esp + 0x28]
mov dword [esp + 0x54], eax
imul eax, edi
mov dword [esp + 0x44], eax
fild dword [esp + 0x44]
fdiv qword [0x1026c140]
fadd qword [ebx + 0x68]
fld st(0)
fld qword [0x1026bd40]
fmul st(1), st(0)
fxch st(1)
faddp st(2)
fxch st(1)
fmul qword [0x1026c138]
fsubr st(2)
fmulp st(2)
fxch st(1)
fst qword [esp + 0xa4]
fmul qword [0x1026c130]
fidiv dword [esp + 0x54]
fst qword [esp + 0x5c]
fld st(0)
call fcn.1010cd70
mov dword [esp + 0x54], eax
fild dword [esp + 0x54]
fsubr st(1)
fld qword [0x1026c128]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x1005ba15
fstp st(0)
fstp st(1)
fsub qword [0x1026bd38]
fstp qword [esp + 0x5c]
jmp 0x1005ba2e
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x1005ba2c
fadd qword [0x1026bd38]
fstp qword [esp + 0x5c]
jmp 0x1005ba2e
fstp st(0)
push str.Courier_New
push esi
call fcn.10106e01
add esp, 8
test eax, eax
je 0x1005ba52
push str.Courier
push esi
call fcn.10106e01
add esp, 8
test eax, eax
jne 0x1005ba7a
fild dword [ebp]
fld qword [esp + 0x5c]
fmul st(1), st(0)
fxch st(1)
fcomp qword [0x1026c120]
fnstsw ax
test ah, 0x41
jne 0x1005ba7e
fstp st(0)
fldz
xor esi, esi
fstp qword [esp + 0x5c]
mov dword [esp + 0x44], esi
jmp 0x1005bab8
fld qword [esp + 0x5c]
fldz
fucomp st(1)
fnstsw ax
test ah, 0x44
jp 0x1005ba93
xor esi, esi
fstp st(0)
mov dword [esp + 0x44], esi
jmp 0x1005bab8
call fcn.1010cd70
fld qword [esp + 0xa4]
fmul qword [0x1026c130]
mov esi, eax
imul esi, dword [ebp]
call fcn.1010cd70
sub eax, esi
mov dword [esp + 0x44], eax
xor esi, esi
push 0x20
call fcn.100f5c37
mov edi, eax
add esp, 4
mov dword [esp + 0xa4], edi
mov dword [esp + 0x154], esi
cmp edi, esi
je 0x1005bb2b
mov eax, dword [esp + 0x74]
mov eax, dword [eax + 0x8c]
xor esi, esi
mov dword [edi + 0x1c], esi
mov dword [edi + 0x18], esi
mov ebx, dword [eax + 0x1c]
mov ebp, dword [eax + 0x18]
cmp ebx, esi
je 0x1005bb0d
cmp ebp, 0xffffffff
jne 0x1005bb0b
mov eax, ebx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1005bb00
sub eax, edx
mov ebp, eax
mov esi, ebp
push edi
call fcn.100558d0
mov eax, dword [edi + 0x1c]
test ebx, ebx
je 0x1005bb25
push ebp
push ebx
push eax
call fcn.1010c900
add esp, 0xc
mov dword [esp + 0x54], edi
jmp 0x1005bb2f
mov dword [esp + 0x54], esi
mov dword [esp + 0x154], 0xffffffff
mov esi, dword [esp + 0x74]
fld qword [esi + 0x38]
fld qword [0x1026bd40]
fadd st(1), st(0)
fxch st(1)
call fcn.1010cd70
fadd qword [esi + 0x48]
push eax
call fcn.1010cd70
mov edi, dword [esp + 0x164]
push eax
push str._text_top__d__left__d_
push edi
call fcn.10106bd7
add esp, 0x10
cmp byte [esi + 0xa0], 0
je 0x1005bba1
cmp dword [esp + 0x28], 0
jne 0x1005bba1
fld qword [esi + 0x50]
fsub qword [esi + 0x48]
fadd qword [0x1026bd40]
call fcn.1010cd70
push eax
push str.width__1__height__d_
push edi
call fcn.10106bd7
add esp, 0xc
jmp 0x1005bbc6
fld qword [esi + 0x50]
fsub qword [esi + 0x48]
fadd qword [0x1026bd40]
call fcn.1010cd70
mov ecx, dword [esp + 0x28]
push eax
push ecx
push str.width__d__height__d_
push edi
call fcn.10106bd7
add esp, 0x10
mov edx, dword [esp + 0x44]
fld qword [esp + 0x5c]
push edx
call fcn.1010cd70
push eax
mov eax, dword [esi + 0x88]
push eax
push str.font__d__right__d__botom__d__
push edi
call fcn.10106bd7
fld qword [esi + 0x38]
fadd qword [0x1026bd40]
add esp, 0x14
call fcn.1010cd70
cmp eax, dword [0x1029cdc4]
jge 0x1005bc05
mov dword [0x1029cdc4], eax
mov ecx, dword [esi + 0x88]
cmp ecx, 0xffffffff
je 0x1005bc25
mov edx, dword [esp + 0x54]
push edx
call fcn.10057c90
mov esi, eax
mov dword [esp + 0x84], esi
jmp 0x1005bc2c
mov esi, dword [esp + 0x84]
call fcn.100f5c7c
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x1005dded
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
mov dword [esp + 0x154], 2
call fcn.100f5c7c
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x1005dded
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x1c], eax
mov byte [esp + 0x154], 4
call fcn.100f5c7c
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x1005dded
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x3c], eax
mov byte [esp + 0x154], 6
call fcn.100f5c7c
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x1005dded
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x40], eax
mov byte [esp + 0x154], 8
lea ecx, [esp + 0x134]
call fcn.100f7cec
mov byte [esp + 0x154], 9
mov dword [esp + 0x28], 0
mov byte [esp + 0x23], 0
mov byte [esp + 0x3b], 0
mov byte [esp + 0x22], 1
test esi, esi
je 0x1005bd34
mov edx, dword [esi + 0x1c]
test edx, edx
jne 0x1005bd19
xor eax, eax
jmp 0x1005bd29
mov eax, edx
lea esi, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1005bd20
sub eax, esi
push eax
push edx
lea ecx, [esp + 0x20]
call fcn.10006fe0
push 0x10203f07
push 0x102300dc
lea ecx, [esp + 0x20]
push ecx
call fcn.10044de0
push 0x10203f07
push 0x10204248
lea edx, [esp + 0x20]
push edx
call fcn.10044de0
push 0x10203f07
push 0x1025c538
lea eax, [esp + 0x20]
push eax
call fcn.10044de0
mov ecx, dword [esp + 0x18]
cmp dword [ecx - 0xc], 0
jl 0x1005c781
push str._unicode_
push ecx
call fcn.10109c25
mov ecx, dword [esp + 0x20]
add esp, 8
test eax, eax
je 0x1005c781
sub eax, ecx
cmp eax, 0xffffffff
mov dword [esp + 0x2c], eax
jle 0x1005c781
test eax, eax
jl 0x1005c781
mov edi, eax
cmp edi, dword [ecx - 0xc]
jg 0x1005c1c2
add ecx, edi
push 0x1025c53c
push ecx
call fcn.10109c25
add esp, 8
test eax, eax
je 0x1005c1ba
mov ecx, dword [esp + 0x18]
sub eax, ecx
mov ebx, eax
cmp ebx, 0xffffffff
mov dword [esp + 0x30], ebx
jle 0x1005c1c2
mov eax, dword [ecx - 0xc]
lea esi, [ebx + 0xa]
test esi, esi
jl 0x1005c1ca
cmp esi, eax
jg 0x1005c1ca
lea edx, [esi + ecx]
push 0x10235990
push edx
call fcn.10109c25
mov ecx, dword [esp + 0x20]
add esp, 8
test eax, eax
je 0x1005c1ca
sub eax, ecx
mov edi, eax
cmp edi, 0xffffffff
mov dword [esp + 0x2c], edi
jle 0x1005c1c2
sub edi, ebx
sub edi, 0xa
push edi
push esi
lea eax, [esp + 0x134]
push eax
lea ecx, [esp + 0x24]
call fcn.10006140
mov byte [esp + 0x154], 0xa
mov eax, dword [eax]
mov ebx, dword [esp + 0x1c]
lea esi, [eax - 0x10]
add ebx, 0xfffffff0
cmp esi, ebx
je 0x1005bef1
cmp dword [ebx + 0xc], 0
lea ebp, [ebx + 0xc]
jl 0x1005bee3
mov ecx, dword [esi]
cmp ecx, dword [ebx]
jne 0x1005bee3
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x1005be8f
cmp eax, dword [esi]
jne 0x1005be8f
mov edi, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x1005bec3
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x1005ddf7
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.10105981
add esp, 0x10
or edx, 0xffffffff
lock xadd dword [ebp], edx
dec edx
test edx, edx
jg 0x1005beda
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
add edi, 0x10
mov dword [esp + 0x1c], edi
jmp 0x1005bef1
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x24]
call fcn.10006fe0
mov byte [esp + 0x154], 9
mov eax, dword [esp + 0x12c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1005bf1c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x1c]
cmp dword [eax - 4], 1
jle 0x1005bf37
mov ecx, dword [eax - 0xc]
push ecx
lea ecx, [esp + 0x20]
call fcn.10006ea0
mov eax, dword [esp + 0x1c]
push eax
call fcn.101084ec
mov ebp, eax
add esp, 4
cmp ebp, 0x58f
jle 0x1005bf52
cmp ebp, 0x7b2
jl 0x1005bf60
lea edx, [ebp - 0xfb13]
cmp edx, 0x3ec
ja 0x1005bf64
inc dword [esp + 0x28]
lea eax, [ebp - 0xa80]
cmp eax, 0x7f
ja 0x1005bf74
mov byte [esp + 0x3b], 1
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx - 0xc]
mov edi, dword [esp + 0x2c]
sub eax, edi
sub eax, 2
push eax
lea edx, [esp + 0xa4]
push edx
lea ecx, [esp + 0x20]
call fcn.10006220
mov byte [esp + 0x154], 0xc
mov eax, dword [esp + 0x30]
push eax
lea ecx, [esp + 0x8c]
push ecx
lea ecx, [esp + 0x20]
call fcn.100062d0
mov byte [esp + 0x154], 0xd
mov eax, dword [esp + 0x88]
mov ebx, dword [esp + 0x18]
lea esi, [eax - 0x10]
add ebx, 0xfffffff0
cmp esi, ebx
je 0x1005c06e
cmp dword [ebx + 0xc], 0
jl 0x1005c060
mov ecx, dword [esi]
cmp ecx, dword [ebx]
jne 0x1005c060
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x1005c006
cmp eax, dword [esi]
jne 0x1005c006
mov edi, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x1005c03a
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x1005ddf7
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.10105981
add esp, 0x10
lea eax, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x1005c053
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
add edi, 0x10
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x2c]
jmp 0x1005c06e
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10006fe0
cmp ebp, 0xfb00
jne 0x1005c082
push 2
push 0x10230760
jmp 0x1005c111
cmp ebp, 0xfb01
jne 0x1005c093
push 2
push 0x10205a64
jmp 0x1005c111
cmp ebp, 0xfb02
jne 0x1005c0a4
push 2
push 0x10205a60
jmp 0x1005c111
cmp ebp, 0xfb03
jne 0x1005c0b5
push 3
push 0x1023075c
jmp 0x1005c111
cmp ebp, 0xfb04
jne 0x1005c0c6
push 3
push 0x10230758
jmp 0x1005c111
cmp ebp, 0xfb05
jne 0x1005c0d7
push 2
push 0x1025c548
jmp 0x1005c111
lea ecx, [esp + 0x18]
cmp ebp, 0xfb06
jne 0x1005c0ec
push 2
push 0x1025c54c
jmp 0x1005c115
push 0xa
push str._unicode_
call fcn.10006890
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10006890
push 2
push 0x1025c11c
lea ecx, [esp + 0x20]
call fcn.10006890
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x20]
call fcn.10006890
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
test edi, edi
jl 0x1005c15c
cmp edi, ecx
jg 0x1005c15c
add edi, eax
push str._unicode_
push edi
call fcn.10109c25
add esp, 8
test eax, eax
je 0x1005c15c
sub eax, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
jmp 0x1005c164
mov dword [esp + 0x2c], 0xffffffff
mov byte [esp + 0x154], 0xc
mov eax, dword [esp + 0x88]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1005c18f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x154], 9
mov eax, dword [esp + 0xa0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1005c1ba
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
test edi, edi
jge 0x1005bdb1
cmp byte [esp + 0x3b], 0
je 0x1005c781
push str._unicode_2716___charSpacing_0__horizScaling_100___unicode_2752__
push str._unicode_293__
lea ecx, [esp + 0x20]
push ecx
call fcn.10044de0
push str._unicode_2710___charSpacing_0__horizScaling_100___unicode_2765__
push str._unicode_393__
lea edx, [esp + 0x20]
push edx
call fcn.10044de0
push str._unicode_2728___charSpacing_0__horizScaling_100___unicode_2765__
push str._unicode_411__
lea eax, [esp + 0x20]
push eax
call fcn.10044de0
push str._unicode_2711___charSpacing_0__horizScaling_100___unicode_2765___charSpacing_0__horizScaling_100___unicode_2736__
push str._unicode_756__
lea ecx, [esp + 0x20]
push ecx
call fcn.10044de0
push str._unicode_2724___charSpacing_0__horizScaling_100___unicode_2765___charSpacing_0__horizScaling_100___unicode_2736__
push str._unicode_769__
lea edx, [esp + 0x20]
push edx
call fcn.10044de0
push str._unicode_2730___charSpacing_0__horizScaling_100___unicode_2765___charSpacing_0__horizScaling_100___unicode_2736__
push str._unicode_774__
lea eax, [esp + 0x20]
push eax
call fcn.10044de0
push str._unicode_2693___charSpacing_0__horizScaling_100___unicode_2690__
push str._unicode_1236__
lea ecx, [esp + 0x20]
push ecx
call fcn.10044de0
push str._unicode_2736___charSpacing_0__horizScaling_100___unicode_2765__
push str._unicode_2802__
lea edx, [esp + 0x20]
push edx
call fcn.10044de0
push str._unicode_2716___charSpacing_0__horizScaling_100___unicode_2765___charSpacing_0__horizScaling_100___unicode_2718__
push str._unicode_2804__
lea eax, [esp + 0x20]
push eax
call fcn.10044de0
push str._unicode_2732___charSpacing_0__horizScaling_100___unicode_2765__
push str._unicode_2805__
lea ecx, [esp + 0x20]
push ecx
call fcn.10044de0
push str._unicode_2752___charSpacing_0__horizScaling_100___unicode_2690__
push str._unicode_2806__
lea edx, [esp + 0x20]
push edx
call fcn.10044de0
push str._unicode_2728___charSpacing_0__horizScaling_100___unicode_2765___charSpacing_0__horizScaling_100___unicode_2728__
push str._unicode_2807__
lea eax, [esp + 0x20]
push eax
call fcn.10044de0
push str._unicode_2736___charSpacing_0__horizScaling_100___unicode_2765__
push str._unicode_2809__
lea ecx, [esp + 0x20]
push ecx
call fcn.10044de0
push str._unicode_2716___charSpacing_0__horizScaling_100___unicode_2759__
push str._unicode_2810__
lea edx, [esp + 0x20]
push edx
call fcn.10044de0
push str._unicode_2765___charSpacing_0__horizScaling_100___unicode_2719__
push str._unicode_2811___unicode_2765__
lea eax, [esp + 0x20]
push eax
call fcn.10044de0
mov eax, dword [esp + 0x18]
cmp dword [eax - 0xc], 0
jl 0x1005c6a1
push str._unicode_2736___unicode_2765___charSpacing_0__horizScaling_100__
push eax
call fcn.10109c25
add esp, 8
test eax, eax
je 0x1005c6a1
sub eax, dword [esp + 0x18]
cmp eax, 0xffffffff
jle 0x1005c6a1
push 0x10203f07
push str._charSpacing_0__horizScaling_100__
lea ecx, [esp + 0x20]
push ecx
call fcn.10044de0
mov ecx, dword [esp + 0x40]
mov esi, dword [ecx - 0x10]
xor edi, edi
lea eax, [ecx - 0x10]
mov dword [esp + 0x30], edi
cmp dword [eax + 4], edi
je 0x1005c3a0
cmp dword [eax + 0xc], edi
lea edx, [eax + 0xc]
jge 0x1005c378
cmp dword [ecx - 8], edi
jl 0x1005ddfc
mov dword [ecx - 0xc], edi
mov edx, dword [esp + 0x40]
mov byte [edx], 0
jmp 0x1005c3a0
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x1005c38e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
mov ecx, esi
call eax
add eax, 0x10
mov dword [esp + 0x40], eax
mov edi, edi
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx - 0xc]
test esi, esi
jl 0x1005c3c7
cmp esi, eax
jg 0x1005c3c7
add ecx, esi
push 0x1025cc00
push ecx
call fcn.10109c25
add esp, 8
test eax, eax
jne 0x1005c3cc
or edi, 0xffffffff
jmp 0x1005c3da
sub eax, dword [esp + 0x18]
mov edi, eax
test edi, edi
jge 0x1005c46e
push 0x20
lea edx, [esp + 0xcc]
push edx
lea ecx, [esp + 0x20]
call fcn.10006220
mov byte [esp + 0x154], 0x10
mov eax, dword [eax]
push str._unicode_2736___unicode_2765__
push eax
call fcn.101076ae
add esp, 8
test eax, eax
sete bl
mov byte [esp + 0x154], 9
mov eax, dword [esp + 0xc8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1005c435
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x1005c46e
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx - 0xc]
test esi, esi
jl 0x1005c633
cmp esi, eax
jg 0x1005c633
add esi, ecx
push str._unicode_2736___unicode_2765__
push esi
call fcn.10109c25
add esp, 8
test eax, eax
je 0x1005c633
sub eax, dword [esp + 0x18]
mov edi, eax
cmp edi, 0xf
jle 0x1005c633
push 0x10
lea ecx, [edi - 0x10]
push ecx
lea edx, [esp + 0xb8]
push edx
lea ecx, [esp + 0x24]
call fcn.10006140
mov byte [esp + 0x154], 0x12
mov eax, dword [eax]
mov ebp, dword [esp + 0x1c]
lea esi, [eax - 0x10]
add ebp, 0xfffffff0
cmp esi, ebp
je 0x1005c541
cmp dword [ebp + 0xc], 0
jl 0x1005c533
mov ecx, dword [esi]
cmp ecx, dword [ebp]
jne 0x1005c533
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x1005c4dc
cmp eax, dword [esi]
jne 0x1005c4dc
mov ebx, esi
mov eax, 1
lock xadd dword [ecx], eax
jmp 0x1005c510
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
je 0x1005ddf7
mov eax, dword [esi + 4]
mov dword [ebx + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
add esi, 0x10
push esi
push eax
lea ecx, [ebx + 0x10]
push ecx
call fcn.10105981
add esp, 0x10
lea eax, [ebp + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x1005c52a
mov ecx, dword [ebp]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebp
call edx
add ebx, 0x10
mov dword [esp + 0x1c], ebx
jmp 0x1005c541
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x24]
call fcn.10006fe0
mov byte [esp + 0x154], 9
mov eax, dword [esp + 0xb0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1005c56c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x1c]
cmp dword [eax - 0xc], 0
jl 0x1005c638
push 0x1025c53c
push eax
call fcn.10109c25
add esp, 8
test eax, eax
je 0x1005c638
sub eax, dword [esp + 0x1c]
cmp eax, 0xffffffff
jle 0x1005c638
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx - 0xc]
sub edi, eax
sub edi, 0x10
push edi
push eax
lea edx, [esp + 0xc0]
push edx
lea ecx, [esp + 0x24]
call fcn.10006140
mov byte [esp + 0x154], 0x14
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10006890
mov byte [esp + 0x154], 9
mov eax, dword [esp + 0xb8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1005c5ff
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x20
push str._unicode_2736___unicode_2765__
lea ecx, [esp + 0x48]
call fcn.10006890
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10006890
push 1
push 0x102314cc
lea ecx, [esp + 0x48]
call fcn.10006890
jmp 0x1005c638
mov byte [esp + 0x22], 0
add dword [esp + 0x30], 0x31
cmp byte [esp + 0x22], 0
jne 0x1005c3a0
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x18]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x1005c6a1
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x1005c693
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x1005c693
push eax
call fcn.100071c0
mov ebx, eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x1005c68a
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
add ebx, 0x10
mov dword [esp + 0x18], ebx
jmp 0x1005c6a1
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x20]
call fcn.10006fe0
push str._unicode_0000__
push str._unicode_65533__
lea ecx, [esp + 0x20]
push ecx
call fcn.10044de0
push str._unicode_0000___unicode_0000__
push str._unicode_0000___charSpacing_0__horizScaling_100___unicode_2750__
lea edx, [esp + 0x20]
push edx
call fcn.10044de0
push str._unicode_0000___unicode_0000__
push str._unicode_0000___charSpacing_0__horizScaling_100___unicode_2753__
lea eax, [esp + 0x20]
push eax
call fcn.10044de0
push str._unicode_0000___unicode_0000__
push str._unicode_0000___charSpacing_0__horizScaling_100___unicode_2754__
lea ecx, [esp + 0x20]
push ecx
call fcn.10044de0
push str._unicode_0000___unicode_0000__
push str._unicode_0000___charSpacing_0__horizScaling_100___unicode_2755__
lea edx, [esp + 0x20]
push edx
call fcn.10044de0
push str._unicode_0000___unicode_0000__
push str._unicode_0000___charSpacing_0__horizScaling_100___unicode_2756__
lea eax, [esp + 0x20]
push eax
call fcn.10044de0
push str._unicode_0000___unicode_0000__
push str._unicode_0000___charSpacing_0__horizScaling_100___unicode_2759__
lea ecx, [esp + 0x20]
push ecx
call fcn.10044de0
push str._unicode_0000___unicode_0000__
push str._unicode_0000___charSpacing_0__horizScaling_100___unicode_2760__
lea edx, [esp + 0x20]
push edx
call fcn.10044de0
push str._unicode_0000___unicode_0000__
push str._unicode_0000___charSpacing_0__horizScaling_100___unicode_2761__
lea eax, [esp + 0x20]
push eax
call fcn.10044de0
push str._unicode_0000___unicode_0000__
push str._unicode_0000___charSpacing_0__horizScaling_100___unicode_2763__
lea ecx, [esp + 0x20]
push ecx
call fcn.10044de0
push str._unicode_0000___unicode_0000__
push str._unicode_0000___charSpacing_0__horizScaling_100___unicode_2764__
lea edx, [esp + 0x20]
push edx
call fcn.10044de0
mov ecx, dword [esp + 0x18]
cmp dword [0x1029dc8c], 0x798b
jne 0x1005dce5
cmp dword [esp + 0x28], 1
jle 0x1005dce5
lea ecx, [esp + 0x8c]
call fcn.100f7cec
mov byte [esp + 0x154], 0x16
mov ecx, dword [esp + 0x18]
xor ebp, ebp
mov eax, dword [ecx - 0xc]
test ebp, ebp
jl 0x1005cb1e
cmp ebp, eax
jg 0x1005cb1e
lea eax, [ecx + ebp]
push str._charSpacing
push eax
call fcn.10109c25
add esp, 8
test eax, eax
je 0x1005cb1a
mov ecx, dword [esp + 0x18]
sub eax, ecx
mov esi, eax
cmp esi, 0xffffffff
jle 0x1005cb1e
cmp ebp, dword [ecx - 0xc]
jg 0x1005cb1e
add ecx, ebp
push 0x1025cf78
push ecx
call fcn.10109c25
add esp, 8
test eax, eax
je 0x1005cb1a
mov ecx, dword [esp + 0x18]
sub eax, ecx
cmp eax, 0xffffffff
jle 0x1005cb1e
mov edx, dword [ecx - 0xc]
test eax, eax
jl 0x1005cb1e
cmp eax, edx
jg 0x1005cb1e
add eax, ecx
push 0x10231958
push eax
call fcn.10109c25
add esp, 8
test eax, eax
je 0x1005cb1a
mov ecx, dword [esp + 0x18]
sub eax, ecx
cmp eax, 0xffffffff
jle 0x1005cb1e
mov edx, dword [ecx - 0xc]
test eax, eax
jl 0x1005c884
cmp eax, edx
jg 0x1005c884
add eax, ecx
push str._charSpacing
push eax
call fcn.10109c25
mov ecx, dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x1005c946
or ebp, 0xffffffff
mov ecx, dword [ecx - 0xc]
sub ecx, esi
push ecx
lea ecx, [esp + 0xc4]
push ecx
lea ecx, [esp + 0x20]
call fcn.10006220
mov byte [esp + 0x154], 0x19
push eax
lea ecx, [esp + 0x20]
call fcn.10007070
mov byte [esp + 0x154], 0x16
mov eax, dword [esp + 0xc0]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x1005c8db
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 1
lea ecx, [esp + 0x11c]
push ecx
lea ecx, [esp + 0x24]
call fcn.10006220
mov byte [esp + 0x154], 0x1b
mov eax, dword [eax]
push 0x102314cc
push eax
call fcn.101076ae
add esp, 8
test eax, eax
sete bl
mov byte [esp + 0x154], 0x16
mov eax, dword [esp + 0x118]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x1005c936
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x1005c9a0
push 1
push 0x102314cc
jmp 0x1005caf8
sub eax, ecx
mov ebp, eax
cmp ebp, 0xffffffff
jle 0x1005c887
mov edx, ebp
sub edx, esi
push edx
push esi
lea eax, [esp + 0x100]
push eax
lea ecx, [esp + 0x24]
call fcn.10006140
mov byte [esp + 0x154], 0x17
push eax
lea ecx, [esp + 0x20]
call fcn.10007070
mov byte [esp + 0x154], 0x16
mov eax, dword [esp + 0xf8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jmp 0x1005c8cf
mov eax, dword [esp + 0x1c]
xor edi, edi
cmp dword [eax - 0xc], edi
jl 0x1005caf1
push str._unicode_
push eax
call fcn.10109c25
add esp, 8
test eax, eax
je 0x1005caf1
mov ecx, dword [esp + 0x1c]
sub eax, ecx
cmp eax, 0xffffffff
jle 0x1005caf1
test eax, eax
jl 0x1005caf1
lea esp, [esp]
mov eax, dword [ecx - 0xc]
test edi, edi
jl 0x1005caf1
cmp edi, eax
jg 0x1005caf1
add ecx, edi
push 0x1025c53c
push ecx
call fcn.10109c25
add esp, 8
test eax, eax
je 0x1005caf1
mov ecx, dword [esp + 0x1c]
sub eax, ecx
mov ebx, eax
cmp ebx, 0xffffffff
jle 0x1005cae9
mov eax, dword [ecx - 0xc]
lea esi, [ebx + 0xa]
test esi, esi
jl 0x1005ca43
cmp esi, eax
jg 0x1005ca43
lea edx, [esi + ecx]
push 0x10235990
push edx
call fcn.10109c25
mov ecx, dword [esp + 0x24]
add esp, 8
test eax, eax
jne 0x1005ca4b
or edi, 0xffffffff
jmp 0x1005cae9
sub eax, ecx
mov edi, eax
cmp edi, 0xffffffff
jle 0x1005cae9
sub eax, ebx
sub eax, 0xa
push eax
push esi
lea ecx, [esp + 0x70]
push ecx
lea ecx, [esp + 0x28]
call fcn.10006140
mov byte [esp + 0x154], 0x1d
mov eax, dword [esp + 0x68]
cmp dword [eax - 4], 1
jle 0x1005ca90
mov edx, dword [eax - 0xc]
push edx
lea ecx, [esp + 0x6c]
call fcn.10006ea0
mov eax, dword [esp + 0x68]
push eax
call fcn.101084ec
add esp, 4
cmp eax, 0x58f
jle 0x1005caab
cmp eax, 0x7b2
jl 0x1005cbf6
cmp eax, 0xfb12
jle 0x1005cabd
cmp eax, 0xff00
jl 0x1005cbf6
mov byte [esp + 0x154], 0x16
mov eax, dword [esp + 0x68]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1005cae5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x1c]
test ebx, ebx
jge 0x1005c9e0
push 1
push 0x10235dbc
lea ecx, [esp + 0x44]
call fcn.10006890
mov edx, dword [esp + 0x94]
lea ecx, [esp + 0x1c]
push ecx
push edx
lea ecx, [esp + 0x94]
call fcn.100f7fc2
mov ecx, dword [esp + 0x18]
cmp ebp, 0xffffffff
jg 0x1005c7b6
push 3
lea eax, [esp + 0x128]
push eax
lea ecx, [esp + 0x44]
call fcn.100062d0
mov byte [esp + 0x154], 0x20
mov ecx, dword [esp + 0x3c]
xor ebx, ebx
cmp dword [ecx - 0xc], ebx
jl 0x1005cb8c
push 0x1025cf88
push ecx
call fcn.10109c25
mov ecx, dword [esp + 0x44]
add esp, 8
cmp eax, ebx
je 0x1005cb6a
sub eax, ecx
cmp eax, 0xffffffff
jg 0x1005cba3
cmp dword [ecx - 0xc], ebx
jl 0x1005cb8c
push 0x1025cf8c
push ecx
call fcn.10109c25
mov ecx, dword [esp + 0x44]
add esp, 8
cmp eax, ebx
je 0x1005cb8c
sub eax, ecx
cmp eax, 0xffffffff
jg 0x1005cba3
push 0x10235db8
push ecx
call fcn.101076ae
add esp, 8
cmp eax, ebx
sete al
test al, al
je 0x1005cba8
mov byte [esp + 0x23], 1
mov esi, dword [esp + 0x94]
cmp esi, ebx
jle 0x1005dcb9
cmp byte [esp + 0x23], 0
je 0x1005dcb9
mov ecx, dword [esp + 0x18]
mov edi, dword [ecx - 0x10]
lea eax, [ecx - 0x10]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x6c], ebx
cmp dword [eax + 4], ebx
je 0x1005cc50
cmp dword [eax + 0xc], ebx
lea edx, [eax + 0xc]
jge 0x1005cc2a
cmp dword [ecx - 8], ebx
jl 0x1005ddfc
mov dword [ecx - 0xc], ebx
mov ecx, dword [esp + 0x18]
mov byte [ecx], 0
jmp 0x1005cc50
mov byte [esp + 0x154], 0x16
mov eax, dword [esp + 0x68]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1005cc1e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 1
push 0x10235db8
jmp 0x1005caf8
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x1005cc40
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0xc]
mov ecx, edi
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x50]
call fcn.100073a0
mov byte [esp + 0x154], 0x21
lea ecx, [esp + 0x64]
call fcn.100073a0
mov byte [esp + 0x154], 0x22
lea ecx, [esp + 0x24]
call fcn.100073a0
mov byte [esp + 0x154], 0x23
lea ecx, [esp + 0x34]
call fcn.100073a0
mov byte [esp + 0x154], 0x24
lea ecx, [esp + 0x7c]
call fcn.100073a0
mov byte [esp + 0x154], 0x25
lea ecx, [esp + 0x58]
call fcn.100073a0
mov byte [esp + 0x154], 0x26
lea ecx, [esp + 0x4c]
call fcn.100073a0
mov byte [esp + 0x154], 0x27
lea ecx, [esp + 0x80]
call fcn.100073a0
mov byte [esp + 0x154], 0x28
lea ecx, [esp + 0x48]
call fcn.100073a0
mov byte [esp + 0x154], 0x29
lea ebp, [esi - 1]
cmp ebp, ebx
mov dword [esp + 0x5c], esi
mov dword [esp + 0x28], ebp
jl 0x1005dc1d
jmp 0x1005cd05
mov ebp, dword [esp + 0x28]
mov edx, dword [esp + 0x50]
mov esi, dword [edx - 0x10]
lea eax, [edx - 0x10]
xor edi, edi
cmp dword [eax + 4], edi
je 0x1005cd59
cmp dword [eax + 0xc], edi
lea ecx, [eax + 0xc]
jge 0x1005cd33
cmp dword [edx - 8], edi
jl 0x1005ddfc
mov dword [edx - 0xc], edi
mov ecx, dword [esp + 0x50]
mov byte [ecx], 0
jmp 0x1005cd59
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1005cd49
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
mov ecx, esi
call eax
add eax, 0x10
mov dword [esp + 0x50], eax
mov edx, dword [esp + 0x24]
mov esi, dword [edx - 0x10]
cmp dword [edx - 0xc], edi
lea eax, [edx - 0x10]
je 0x1005cdab
cmp dword [eax + 0xc], edi
lea ecx, [eax + 0xc]
jge 0x1005cd85
cmp dword [edx - 8], edi
jl 0x1005ddfc
mov dword [edx - 0xc], edi
mov ecx, dword [esp + 0x24]
mov byte [ecx], 0
jmp 0x1005cdab
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1005cd9b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
mov ecx, esi
call eax
add eax, 0x10
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x34]
mov esi, dword [edx - 0x10]
cmp dword [edx - 0xc], edi
lea eax, [edx - 0x10]
je 0x1005cdfd
cmp dword [eax + 0xc], edi
lea ecx, [eax + 0xc]
jge 0x1005cdd7
cmp dword [edx - 8], edi
jl 0x1005ddfc
mov dword [edx - 0xc], edi
mov ecx, dword [esp + 0x34]
mov byte [ecx], 0
jmp 0x1005cdfd
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1005cded
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
mov ecx, esi
call eax
add eax, 0x10
mov dword [esp + 0x34], eax
mov edx, dword [esp + 0x58]
mov esi, dword [edx - 0x10]
cmp dword [edx - 0xc], edi
lea eax, [edx - 0x10]
je 0x1005ce4f
cmp dword [eax + 0xc], edi
lea ecx, [eax + 0xc]
jge 0x1005ce29
cmp dword [edx - 8], edi
jl 0x1005ddfc
mov dword [edx - 0xc], edi
mov ecx, dword [esp + 0x58]
mov byte [ecx], 0
jmp 0x1005ce4f
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1005ce3f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
mov ecx, esi
call eax
add eax, 0x10
mov dword [esp + 0x58], eax
mov edx, dword [esp + 0x48]
mov esi, dword [edx - 0x10]
cmp dword [edx - 0xc], edi
lea eax, [edx - 0x10]
je 0x1005cea1
cmp dword [eax + 0xc], edi
lea ecx, [eax + 0xc]
jge 0x1005ce7b
cmp dword [edx - 8], edi
jl 0x1005ddfc
mov dword [edx - 0xc], edi
mov ecx, dword [esp + 0x48]
mov byte [ecx], 0
jmp 0x1005cea1
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1005ce91
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
mov ecx, esi
call eax
add eax, 0x10
mov dword [esp + 0x48], eax
mov edx, dword [esp + 0x64]
mov esi, dword [edx - 0x10]
cmp dword [edx - 0xc], edi
lea eax, [edx - 0x10]
je 0x1005cef3
cmp dword [eax + 0xc], edi
lea ecx, [eax + 0xc]
jge 0x1005cecd
cmp dword [edx - 8], edi
jl 0x1005ddfc
mov dword [edx - 0xc], edi
mov ecx, dword [esp + 0x64]
mov byte [ecx], 0
jmp 0x1005cef3
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1005cee3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
mov ecx, esi
call eax
add eax, 0x10
mov dword [esp + 0x64], eax
cmp ebp, edi
mov byte [esp + 0x22], 0
jl 0x1005ddfc
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax - 0xc]
cmp ebp, ecx
jg 0x1005ddfc
cmp byte [eax + ebp], 0x30
jne 0x1005d231
cmp ebp, dword [esp + 0x5c]
jge 0x1005d231
cmp ebp, edi
mov edx, ebp
mov dword [esp + 0x44], edx
jle 0x1005cf4c
cmp edx, edi
jl 0x1005ddfc
cmp edx, ecx
jg 0x1005ddfc
cmp byte [edx + eax], 0x31
je 0x1005cf4c
dec edx
cmp edx, edi
mov dword [esp + 0x44], edx
jg 0x1005cf35
mov esi, ebp
sub esi, edx
cmp esi, 1
jle 0x1005d231
call fcn.100f5c7c
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x1005dded
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x70], eax
mov byte [esp + 0x154], 0x2b
call fcn.100f5c7c
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
je 0x1005dded
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x78], eax
mov byte [esp + 0x154], 0x2d
mov edi, dword [esp + 0x44]
mov ebp, dword [esp + 0x28]
mov eax, esi
cdq
sub eax, edx
sar eax, 1
cmp edi, eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x30], edi
jge 0x1005d1d9
test edi, edi
jl 0x1005de06
cmp edi, dword [esp + 0x94]
jge 0x1005de06
mov ecx, dword [esp + 0x90]
mov eax, dword [ecx + edi*4]
mov ebx, dword [esp + 0x70]
lea esi, [eax - 0x10]
add ebx, 0xfffffff0
cmp esi, ebx
je 0x1005d0a5
cmp dword [ebx + 0xc], 0
jl 0x1005d097
mov ecx, dword [esi]
cmp ecx, dword [ebx]
jne 0x1005d097
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x1005d03d
cmp eax, dword [esi]
jne 0x1005d03d
mov edi, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x1005d071
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x1005ddf7
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.10105981
add esp, 0x10
lea eax, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x1005d08a
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
add edi, 0x10
mov dword [esp + 0x70], edi
mov edi, dword [esp + 0x30]
jmp 0x1005d0a5
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x78]
call fcn.10006fe0
test ebp, ebp
jl 0x1005de06
cmp ebp, dword [esp + 0x94]
jge 0x1005de06
mov eax, dword [esp + 0x90]
mov eax, dword [eax + ebp*4]
mov ebx, dword [esp + 0x78]
lea esi, [eax - 0x10]
add ebx, 0xfffffff0
cmp esi, ebx
je 0x1005d177
cmp dword [ebx + 0xc], 0
lea ebp, [ebx + 0xc]
jl 0x1005d15e
mov ecx, dword [esi]
cmp ecx, dword [ebx]
jne 0x1005d15e
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x1005d10a
cmp eax, dword [esi]
jne 0x1005d10a
mov edi, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x1005d13e
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x1005ddf7
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.10105981
add esp, 0x10
or edx, 0xffffffff
lock xadd dword [ebp], edx
dec edx
test edx, edx
jg 0x1005d155
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
add edi, 0x10
mov dword [esp + 0x78], edi
jmp 0x1005d16f
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x80]
call fcn.10006fe0
mov edi, dword [esp + 0x30]
mov ebp, dword [esp + 0x5c]
mov edx, dword [esp + 0x94]
cmp ebp, edx
jge 0x1005de06
cmp edi, edx
mov ecx, dword [esp + 0x90]
lea eax, [ecx + ebp*4]
jge 0x1005de06
lea ecx, [ecx + edi*4]
push eax
call fcn.10007070
cmp ebp, dword [esp + 0x94]
jge 0x1005de06
mov eax, dword [esp + 0x90]
lea edx, [esp + 0x70]
lea ecx, [eax + ebp*4]
push edx
call fcn.10007070
inc edi
dec ebp
cmp edi, dword [esp + 0xa4]
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x30], edi
jl 0x1005cfd7
mov eax, dword [esp + 0x44]
mov dword [esp + 0x5c], eax
mov byte [esp + 0x154], 0x2b
mov eax, dword [esp + 0x78]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1005d209
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x154], 0x29
mov eax, dword [esp + 0x70]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1005d231
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x94]
jge 0x1005de06
mov ecx, dword [esp + 0x90]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x1c]
lea esi, [eax - 0x10]
lea ebx, [ecx - 0x10]
cmp esi, ebx
je 0x1005d2f8
cmp dword [ebx + 0xc], 0
lea ebp, [ebx + 0xc]
jl 0x1005d2e6
mov ecx, dword [esi]
cmp ecx, dword [ebx]
jne 0x1005d2e6
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x1005d292
cmp eax, dword [esi]
jne 0x1005d292
mov edi, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x1005d2c6
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x1005ddf7
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.10105981
add esp, 0x10
or edx, 0xffffffff
lock xadd dword [ebp], edx
dec edx
test edx, edx
jg 0x1005d2dd
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
lea ecx, [edi + 0x10]
mov dword [esp + 0x1c], ecx
jmp 0x1005d2f8
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x24]
call fcn.10006fe0
mov ecx, dword [esp + 0x1c]
cmp dword [ecx - 0xc], 0
jl 0x1005d40e
push str._unicode
push ecx
call fcn.10109c25
mov ecx, dword [esp + 0x24]
add esp, 8
test eax, eax
je 0x1005d40e
sub eax, ecx
mov ebp, eax
cmp ebp, 0xffffffff
mov dword [esp + 0x30], ebp
jle 0x1005d40e
push ebp
lea eax, [esp + 0x104]
push eax
lea ecx, [esp + 0x24]
call fcn.100062d0
mov byte [esp + 0x154], 0x30
mov eax, dword [eax]
mov ebx, dword [esp + 0x24]
lea esi, [eax - 0x10]
add ebx, 0xfffffff0
cmp esi, ebx
je 0x1005d3f5
cmp dword [ebx + 0xc], 0
lea ebp, [ebx + 0xc]
jl 0x1005d3e3
mov ecx, dword [esi]
cmp ecx, dword [ebx]
jne 0x1005d3e3
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x1005d38f
cmp eax, dword [esi]
jne 0x1005d38f
mov edi, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x1005d3c3
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 1
push ecx
mov ecx, eax
call edx
mov edi, eax
test edi, edi
je 0x1005ddf7
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 4]
inc eax
push eax
add esi, 0x10
push esi
push eax
lea ecx, [edi + 0x10]
push ecx
call fcn.10105981
add esp, 0x10
or edx, 0xffffffff
lock xadd dword [ebp], edx
dec edx
test edx, edx
jg 0x1005d3da
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
add edi, 0x10
mov dword [esp + 0x24], edi
jmp 0x1005d3f1
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.10006fe0
mov ebp, dword [esp + 0x30]
mov byte [esp + 0x154], 0x29
lea ecx, [esp + 0x100]
call fcn.100072b0
jmp 0x1005d4b7
push 0x3e
push ecx
call fcn.10107453
add esp, 8
test eax, eax
jne 0x1005d425
or ebp, 0xffffffff
jmp 0x1005d4b7
sub eax, dword [esp + 0x1c]
mov ebp, eax
cmp ebp, 0xffffffff
jle 0x1005d4b7
lea esi, [ebp + 1]
push esi
lea eax, [esp + 0xd4]
push eax
lea ecx, [esp + 0x24]
call fcn.100062d0
mov byte [esp + 0x154], 0x31
push eax
lea ecx, [esp + 0x28]
call fcn.10007070
mov byte [esp + 0x154], 0x29
lea ecx, [esp + 0xd0]
call fcn.100072b0
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx - 0xc]
sub eax, ebp
dec eax
push eax
push esi
lea edx, [esp + 0x130]
push edx
lea ecx, [esp + 0x28]
call fcn.10006140
mov byte [esp + 0x154], 0x32
push eax
lea ecx, [esp + 0x68]
call fcn.10007070
mov byte [esp + 0x154], 0x29
lea ecx, [esp + 0x128]
call fcn.100072b0
mov byte [esp + 0x22], 1
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx - 0xc]
test eax, eax
je 0x1005d74b
mov edx, dword [esp + 0x6c]
test edx, edx
jl 0x1005d4ee
cmp edx, eax
jg 0x1005d4ee
add ecx, edx
push str.horizScaling
push ecx
call fcn.10109c25
mov ecx, dword [esp + 0x2c]
add esp, 8
test eax, eax
je 0x1005d4ee
sub eax, ecx
jmp 0x1005d4f1
or eax, 0xffffffff
mov edx, dword [ecx - 0xc]
test eax, eax
jl 0x1005d74b
cmp eax, edx
jg 0x1005d74b
add ecx, eax
push 0x10231958
push ecx
call fcn.10109c25
add esp, 8
test eax, eax
je 0x1005d74b
mov edx, dword [esp + 0x24]
sub eax, edx
mov ecx, eax
cmp ecx, 0xffffffff
jle 0x1005d74b
mov eax, dword [edx - 0xc]
sub eax, ecx
push eax
lea esi, [ecx + 1]
push esi
lea eax, [esp + 0xe0]
push eax
lea ecx, [esp + 0x30]
call fcn.10006140
mov byte [esp + 0x154], 0x33
push eax
lea ecx, [esp + 0x50]
call fcn.10007070
mov byte [esp + 0x154], 0x29
lea ecx, [esp + 0xd8]
call fcn.100072b0
mov ecx, dword [esp + 0x4c]
cmp dword [ecx - 0xc], 0
je 0x1005d74b
push esi
lea edx, [esp + 0x10c]
push edx
lea ecx, [esp + 0x2c]
call fcn.100062d0
mov byte [esp + 0x154], 0x34
push eax
lea ecx, [esp + 0x28]
call fcn.10007070
mov byte [esp + 0x154], 0x29
lea ecx, [esp + 0x108]
call fcn.100072b0
xor edi, edi
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax - 0xc]
test edi, edi
jl 0x1005d74b
cmp edi, ecx
jg 0x1005d74b
add eax, edi
push 0x10230fd4
push eax
call fcn.10109c25
add esp, 8
test eax, eax
je 0x1005d74b
mov ecx, dword [esp + 0x4c]
sub eax, ecx
mov esi, eax
cmp esi, 0xffffffff
jle 0x1005d74b
mov eax, dword [ecx - 0xc]
test esi, esi
jl 0x1005d74b
cmp esi, eax
jg 0x1005d74b
add ecx, esi
push 0x10231958
push ecx
call fcn.10109c25
add esp, 8
test eax, eax
je 0x1005d74b
sub eax, dword [esp + 0x4c]
mov edi, eax
cmp edi, 0xffffffff
jle 0x1005d74b
sub eax, esi
push eax
lea ecx, [esi + 1]
push ecx
lea edx, [esp + 0x118]
push edx
lea ecx, [esp + 0x58]
call fcn.10006140
mov ebx, eax
mov byte [esp + 0x154], 0x35
push 1
push esi
lea eax, [esp + 0xf0]
push eax
lea ecx, [esp + 0x58]
call fcn.10006140
mov byte [esp + 0x154], 0x36
push 0x10230f48
push eax
lea ecx, [esp + 0x128]
push ecx
call fcn.10006380
add esp, 0xc
mov byte [esp + 0x154], 0x37
push ebx
push eax
lea edx, [esp + 0xe8]
push edx
call fcn.10060dd0
add esp, 0xc
mov byte [esp + 0x154], 0x38
push eax
lea ecx, [esp + 0x84]
call fcn.10007070
mov byte [esp + 0x154], 0x37
lea ecx, [esp + 0xe0]
call fcn.100072b0
mov byte [esp + 0x154], 0x36
lea ecx, [esp + 0x120]
call fcn.100072b0
mov byte [esp + 0x154], 0x35
lea ecx, [esp + 0xe8]
call fcn.100072b0
mov byte [esp + 0x154], 0x29
lea ecx, [esp + 0x110]
call fcn.100072b0
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x84]
push ecx
lea edx, [esp + 0xf8]
push edx
call fcn.10060dd0
add esp, 0xc
mov byte [esp + 0x154], 0x39
push eax
lea ecx, [esp + 0x4c]
call fcn.10007070
mov byte [esp + 0x154], 0x29
lea ecx, [esp + 0xf0]
call fcn.100072b0
jmp 0x1005d5b6
cmp ebp, 0xffffffff
mov edi, dword [esp + 0x2c]
jle 0x1005d845
jmp 0x1005d760
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx - 0xc]
test edi, edi
jl 0x1005d845
cmp edi, eax
jg 0x1005d845
lea eax, [edi + ecx]
push str._unicode
push eax
call fcn.10109c25
add esp, 8
test eax, eax
je 0x1005d845
mov ecx, dword [esp + 0x1c]
sub eax, ecx
mov esi, eax
cmp esi, 0xffffffff
jle 0x1005d845
mov eax, dword [ecx - 0xc]
test esi, esi
jl 0x1005d7c0
cmp esi, eax
jg 0x1005d7c0
add ecx, esi
push 0x10231958
push ecx
call fcn.10109c25
add esp, 8
test eax, eax
jne 0x1005d7c5
or edi, 0xffffffff
jmp 0x1005d760
sub eax, dword [esp + 0x1c]
mov edi, eax
cmp edi, 0xffffffff
jle 0x1005d760
mov edx, edi
sub edx, esi
inc edx
push edx
push esi
lea eax, [esp + 0xbc]
push eax
lea ecx, [esp + 0x28]
call fcn.10006140
mov bl, 0x3a
mov byte [esp + 0x154], bl
lea ecx, [esp + 0x50]
push ecx
push eax
lea edx, [esp + 0x138]
push edx
call fcn.10060dd0
add esp, 0xc
mov byte [esp + 0x154], 0x3b
push eax
lea ecx, [esp + 0x54]
call fcn.10007070
mov byte [esp + 0x154], bl
lea ecx, [esp + 0x130]
call fcn.100072b0
mov byte [esp + 0x154], 0x29
lea ecx, [esp + 0xb4]
call fcn.100072b0
jmp 0x1005d760
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx - 0xc]
xor ebp, ebp
sub eax, edi
cmp eax, 1
mov dword [esp + 0x6c], ebp
jle 0x1005da32
mov eax, dword [ecx - 0xc]
sub eax, edi
dec eax
push eax
lea eax, [esp + 0xc0]
push eax
lea ecx, [esp + 0x24]
call fcn.10006220
mov byte [esp + 0x154], 0x3c
push eax
lea ecx, [esp + 0x38]
call fcn.10007070
mov byte [esp + 0x154], 0x29
lea ecx, [esp + 0xbc]
call fcn.100072b0
lea ebx, [esp + 0x34]
call fcn.10006640
mov edi, eax
call fcn.100066c0
mov eax, dword [esp + 0x34]
cmp dword [eax - 0xc], ebp
je 0x1005da32
jmp 0x1005d8c0
mov ecx, dword [eax - 0xc]
test ebp, ebp
jl 0x1005da32
cmp ebp, ecx
jg 0x1005da32
add eax, ebp
push 0x1025cfac
push eax
call fcn.10109c25
add esp, 8
test eax, eax
je 0x1005da32
mov ecx, dword [esp + 0x34]
sub eax, ecx
mov esi, eax
cmp esi, 0xffffffff
jle 0x1005da32
mov eax, dword [ecx - 0xc]
test esi, esi
jl 0x1005da2a
cmp esi, eax
jg 0x1005da2a
add ecx, esi
push 0x10231958
push ecx
call fcn.10109c25
add esp, 8
test eax, eax
je 0x1005da2a
sub eax, dword [esp + 0x34]
mov ebp, eax
cmp ebp, 0xffffffff
mov dword [esp + 0x6c], ebp
jle 0x1005da32
mov ecx, ebp
sub ecx, esi
dec ecx
push ecx
lea edx, [esi + 2]
push edx
lea eax, [esp + 0xdc]
push eax
lea ecx, [esp + 0x40]
call fcn.10006140
mov edi, eax
mov bl, 0x3d
mov byte [esp + 0x154], bl
push 1
push esi
lea ecx, [esp + 0xd4]
push ecx
lea ecx, [esp + 0x40]
call fcn.10006140
mov byte [esp + 0x154], 0x3e
push edi
push eax
lea edx, [esp + 0xcc]
push edx
call fcn.10060dd0
add esp, 0xc
mov byte [esp + 0x154], 0x3f
push eax
lea ecx, [esp + 0x80]
call fcn.10007070
mov byte [esp + 0x154], 0x3e
lea ecx, [esp + 0xc4]
call fcn.100072b0
mov byte [esp + 0x154], bl
lea ecx, [esp + 0xcc]
call fcn.100072b0
mov bl, 0x29
mov byte [esp + 0x154], bl
lea ecx, [esp + 0xd4]
call fcn.100072b0
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x80]
push ecx
lea edx, [esp + 0xe4]
push edx
call fcn.10060dd0
add esp, 0xc
mov byte [esp + 0x154], 0x40
push eax
lea ecx, [esp + 0x5c]
call fcn.10007070
mov byte [esp + 0x154], bl
lea ecx, [esp + 0xdc]
call fcn.100072b0
mov eax, dword [esp + 0x34]
jmp 0x1005d8c0
mov dword [esp + 0x6c], 0xffffffff
cmp byte [esp + 0x22], 0
je 0x1005db13
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x104]
push edx
call fcn.10060dd0
add esp, 0xc
mov bl, 0x41
mov byte [esp + 0x154], bl
lea ecx, [esp + 0x58]
push ecx
push eax
lea edx, [esp + 0xfc]
push edx
call fcn.10060dd0
add esp, 0xc
mov byte [esp + 0x154], 0x42
lea ecx, [esp + 0x64]
push ecx
push eax
lea edx, [esp + 0xf4]
push edx
call fcn.10060dd0
add esp, 0xc
mov byte [esp + 0x154], 0x43
lea ecx, [esp + 0x48]
push ecx
push eax
lea edx, [esp + 0xec]
push edx
call fcn.10060dd0
add esp, 0xc
mov byte [esp + 0x154], 0x44
push eax
lea ecx, [esp + 0x1c]
call fcn.10007070
mov byte [esp + 0x154], 0x43
lea ecx, [esp + 0xe4]
call fcn.100072b0
mov byte [esp + 0x154], 0x42
lea ecx, [esp + 0xec]
call fcn.100072b0
mov byte [esp + 0x154], bl
lea ecx, [esp + 0xf4]
call fcn.100072b0
mov byte [esp + 0x154], 0x29
lea ecx, [esp + 0xfc]
jmp 0x1005dc05
mov eax, dword [esp + 0x50]
cmp dword [eax - 0xc], 0
jne 0x1005db34
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x20]
call fcn.10006890
jmp 0x1005dc0a
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x124]
push eax
call fcn.10060dd0
add esp, 0xc
mov bl, 0x45
mov byte [esp + 0x154], bl
lea ecx, [esp + 0x58]
push ecx
push eax
lea edx, [esp + 0x11c]
push edx
call fcn.10060dd0
add esp, 0xc
mov byte [esp + 0x154], 0x46
lea ecx, [esp + 0x50]
push ecx
push eax
lea edx, [esp + 0x114]
push edx
call fcn.10060dd0
add esp, 0xc
mov byte [esp + 0x154], 0x47
lea ecx, [esp + 0x48]
push ecx
push eax
lea edx, [esp + 0x10c]
push edx
call fcn.10060dd0
add esp, 0xc
mov byte [esp + 0x154], 0x48
push eax
lea ecx, [esp + 0x1c]
call fcn.10007070
mov byte [esp + 0x154], 0x47
lea ecx, [esp + 0x104]
call fcn.100072b0
mov byte [esp + 0x154], 0x46
lea ecx, [esp + 0x10c]
call fcn.100072b0
mov byte [esp + 0x154], bl
lea ecx, [esp + 0x114]
call fcn.100072b0
mov byte [esp + 0x154], 0x29
lea ecx, [esp + 0x11c]
call fcn.100072b0
sub dword [esp + 0x28], 1
mov dword [esp + 0x2c], 0
jns 0x1005cd01
mov byte [esp + 0x154], 0x28
lea ecx, [esp + 0x48]
call fcn.100072b0
mov byte [esp + 0x154], 0x27
lea ecx, [esp + 0x80]
call fcn.100072b0
mov byte [esp + 0x154], 0x26
lea ecx, [esp + 0x4c]
call fcn.100072b0
mov byte [esp + 0x154], 0x25
lea ecx, [esp + 0x58]
call fcn.100072b0
mov byte [esp + 0x154], 0x24
lea ecx, [esp + 0x7c]
call fcn.100072b0
mov byte [esp + 0x154], 0x23
lea ecx, [esp + 0x34]
call fcn.100072b0
mov byte [esp + 0x154], 0x22
lea ecx, [esp + 0x24]
call fcn.100072b0
mov byte [esp + 0x154], 0x21
lea ecx, [esp + 0x64]
call fcn.100072b0
mov byte [esp + 0x154], 0x20
lea ecx, [esp + 0x50]
call fcn.100072b0
mov byte [esp + 0x154], 0x16
lea ecx, [esp + 0x124]
call fcn.100072b0
mov byte [esp + 0x154], 9
lea ecx, [esp + 0x8c]
call fcn.100f7ec9
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x160]
push edi
push ecx
call fcn.1010abed
mov esi, dword [esp + 0x5c]
add esp, 8
test esi, esi
je 0x1005dd17
mov eax, dword [esi + 0x1c]
cmp eax, esi
je 0x1005dd0e
push eax
call fcn.10109eb5
add esp, 4
push esi
call fcn.100f5c66
add esp, 4
mov esi, dword [esp + 0x84]
test esi, esi
je 0x1005dd3b
mov eax, dword [esi + 0x1c]
cmp eax, esi
je 0x1005dd32
push eax
call fcn.10109eb5
add esp, 4
push esi
call fcn.100f5c66
add esp, 4
push edi
push str.__text__n
call fcn.1010abed
add esp, 8
mov byte [esp + 0x154], 8
lea ecx, [esp + 0x134]
call fcn.100f7ec9
mov byte [esp + 0x154], 6
lea ecx, [esp + 0x40]
call fcn.100072b0
mov byte [esp + 0x154], 4
lea ecx, [esp + 0x3c]
call fcn.100072b0
mov byte [esp + 0x154], 2
lea ecx, [esp + 0x1c]
call fcn.100072b0
mov dword [esp + 0x154], 0xffffffff
lea ecx, [esp + 0x18]
call fcn.100072b0
mov ebx, dword [esp + 0x15c]
mov esi, dword [esp + 0x74]
mov ebp, edi
mov esi, dword [esi + 0x80]
mov dword [esp + 0x74], esi
test esi, esi
jne 0x1005b8e2
push ebp
push str.__page__n
call fcn.1010abed
add esp, 8
mov ecx, dword [esp + 0x14c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret 0xc
push 0x80004005
call fcn.10007310
call fcn.100071b0
push 0x80070057
call fcn.10007310
call fcn.100f6662
int3