Function at 0x474280
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xad0
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov ecx, eax
lea eax, [eax + edx - 1]
mov dword [ebp - 0x4c], eax
mov eax, 8
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x6d0]
xor edx, edx
mov dword [ebp - 0x250], eax
lea eax, [ebp - 0xad0]
push ebx
mov dword [ebp - 0x650], eax
mov eax, dword [ebp + 0x10]
push esi
push edi
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x2c], 0xd
cmp byte [eax], dl
je 0x4751f9
jmp 0x4742f3
mov edx, dword [ebp - 0x20]
cmp dword [ebp - 0x2c], 0xe
je 0x4751f9
test edx, edx
jl 0x4751f9
mov edi, dword [ebp - 0x30]
mov esi, dword [ebp - 4]
movzx eax, byte [esi]
mov ecx, edi
and edi, 7
sar ecx, 3
shl edi, 6
add edi, dword [ebp + ecx*4 - 0x650]
xor ebx, ebx
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x20], eax
cmp eax, ebx
je 0x474d19
cmp eax, 0x80
jge 0x474343
cmp eax, 0x25
je 0x474423
inc esi
jmp 0x4743a1
push 4
push esi
push ebx
call dword [0x4bede4]
add esp, 0xc
cmp eax, ebx
jge 0x47439f
test byte [0x4e34ec], 1
jne 0x47437a
or dword [0x4e34ec], 1
push str.BTK_USE_STRICT_PRINTF
call fcn.0040c972
add esp, 4
test eax, eax
setne byte [0x4e34e8]
cmp byte [0x4e34e8], 0
je 0x47439a
push 0x71a
push 0x4a7370
push str.btk_vsnprintf:_invalid_multibyte_character_sequence
call fcn.00467c40
add esp, 0xc
mov eax, 1
add esi, eax
movzx eax, byte [esi]
mov dword [ebp - 0x20], eax
cmp eax, ebx
jne 0x474330
cmp eax, ebx
mov dword [ebp - 4], esi
jle 0x474d19
xor ebx, ebx
cmp dword [ebp - 0x2c], 0xd
mov dword [ebp - 8], ebx
jge 0x47449a
jmp 0x4743d0
mov edx, dword [ebp - 4]
movzx esi, byte [edx]
cmp esi, 0x80
mov dword [ebp + 0xc], esi
jg 0x47449a
mov ecx, dword [ebp - 0x2c]
mov eax, dword [esi*4 + str._b_b_b_b_b_b_b_b_b_b_b_b_b_b_b_b_b_b_b_b_b_b_b_b_b_b_b_b_b_b_b_b_a_b_b_a]
shl ecx, 4
movzx eax, byte [ecx + eax + 0x4a7270]
mov ecx, eax
and eax, 0xf
and ecx, 0x1f0
mov dword [ebp - 0x2c], eax
lea eax, [ecx - 0x10]
mov dword [ebp - 0x1c], ecx
cmp eax, 0xe0
ja case.0x47441c.17
movzx eax, byte [eax + 0x47527c]
jmp dword [eax*4 + 0x475248]
or eax, 0xffffffff
mov dword [edi], esi
inc esi
mov dword [edi + 0xc], ebx
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], ebx
mov dword [edi + 0x18], ebx
mov dword [edi + 0x1c], eax
mov dword [edi + 0x20], ebx
mov dword [edi + 0x24], ebx
cmp byte [esi], 0x25
mov dword [ebp - 4], esi
jne 0x474464
inc esi
mov dword [edi + 8], 0x25
mov dword [ebp - 4], esi
mov dword [edi + 0x28], 0x10000000
mov dword [ebp - 0x2c], 0xd
jmp 0x4743b8
mov dword [edi + 0x28], ebx
mov dword [ebp - 0x2c], ebx
jmp 0x4743b8
add esi, 0xffffffe0
cmp esi, 0x10
ja case.0x47441c.17
movzx ecx, byte [esi + 0x475378]
jmp dword [ecx*4 + 0x475360]
mov dword [edi + 0xc], 0x2b
inc edx
mov dword [ebp - 4], edx
cmp dword [ebp - 0x2c], 0xd
jl 0x4743d0
cmp dword [ebp - 0x2c], 0xe
je 0x474ccd
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp - 0x44]
mov ecx, dword [ebp - 4]
inc eax
cmp eax, esi
mov dword [edi + 4], ecx
mov dword [ebp - 0x30], eax
jl 0x4744ed
lea edi, [eax + 8]
sar edi, 3
sar esi, 3
cmp esi, edi
jge 0x4744e3
mov eax, 0x208
call fcn.0040b8d0
mov eax, esp
add eax, 7
and eax, 0xfffffff8
mov dword [ebp + esi*4 - 0x650], eax
inc esi
cmp esi, edi
jl 0x4744c5
lea edx, [edi*8]
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x38]
mov ecx, eax
sar ecx, 3
mov edx, dword [ebp + ecx*4 - 0x650]
mov ecx, dword [ebp - 0xc]
and eax, 7
shl eax, 6
cmp dword [edx + eax + 0x14], ecx
jg 0x474305
jmp 0x474d19
or dword [edi + 0x28], 0x200
jmp case.0x47441c.17
or dword [edi + 0x28], 0x1000
jmp case.0x47441c.17
or dword [edi + 0x28], 0x400
jmp case.0x47441c.17
cmp dword [edi + 0xc], 0
jne case.0x47441c.17
mov dword [edi + 0xc], 0x20
jmp case.0x47441c.17
mov eax, ebx
test ebx, ebx
jge 0x47455d
or dword [edi + 0x28], 0x200
neg eax
movsx edx, ax
mov dword [edi + 0x18], edx
mov ecx, dword [ebp - 4]
lea eax, [edi + 0x28]
push eax
push ecx
push esi
call fcn.0046e720
add esp, 0xc
mov dword [ebp - 4], eax
jmp 0x474490
xor ecx, ecx
cmp ebx, ecx
jge 0x47458b
or dword [edi + 0x28], 0x200
neg ebx
movsx eax, bx
mov dword [edi + 0x18], eax
jmp 0x474595
xor ecx, ecx
add esi, 0xffffffbd
xor ebx, ebx
cmp esi, 0x35
ja case.0x4745aa.72
movzx eax, byte [esi + 0x4753c8]
jmp dword [eax*4 + 0x47538c]
mov ebx, 4
mov dword [ebp + 0xc], 0x64
or ebx, 0x4002000
mov dword [edi + 0x24], 0xa
jmp case.0x4745aa.72
mov ebx, 4
mov dword [ebp + 0xc], 0x6f
or ebx, 0x4000000
mov dword [edi + 0xc], ecx
mov dword [edi + 0x24], 8
jmp case.0x4745aa.72
mov ebx, 0x4000000
mov dword [edi + 0xc], ecx
mov dword [edi + 0x24], 0xa
jmp case.0x4745aa.72
cmp dword [edi + 0x1c], ecx
jne case.0x4745aa.69
mov dword [edi + 0x1c], 1
cmp dword [edi + 0x1c], 0xffffffff
jne 0x47461a
mov dword [edi + 0x1c], 6
mov ebx, 0x8000000
jmp case.0x4745aa.72
mov ebx, 4
or ebx, 0x1000000
jmp case.0x4745aa.72
mov al, byte [edx]
cmp al, 0x66
je 0x474656
cmp al, 0x64
je 0x474656
mov ebx, 0x804
mov dword [ebp + 0xc], 0x78
or ebx, 0x4000000
mov dword [edi + 0xc], ecx
mov dword [edi + 0x24], 0x10
jmp case.0x4745aa.72
inc edx
mov dword [ebp + 0xc], 0x7e
mov dword [ebp - 4], edx
mov ebx, 0x1000000
jmp case.0x4745aa.72
mov ebx, 0x40000000
jmp case.0x4745aa.72
mov ebx, 4
or ebx, 0x2000000
mov eax, dword [edi + 0x28]
test eax, 0xff000000
je 0x4746d3
and eax, ebx
test eax, 0xff000000
jne 0x4746d3
test byte [0x4e34ec], 1
jne 0x4746b3
or dword [0x4e34ec], 1
push str.BTK_USE_STRICT_PRINTF
call fcn.0040c972
add esp, 4
test eax, eax
setne byte [0x4e34e8]
cmp byte [0x4e34e8], 0
je 0x4746d3
push 0x71a
push 0x4a7370
push str.btk_vsnprintf:_invalid_modifier_and_specifier_combination
call fcn.00467c40
add esp, 0xc
mov ecx, dword [edi + 0x28]
mov eax, dword [edi + 0x10]
and ecx, 0xffffff
or ebx, ecx
mov ecx, dword [ebp - 0xc]
mov dword [edi + 0x28], ebx
cmp eax, 0xffffffff
je 0x474793
cmp eax, ecx
je 0x474793
mov esi, eax
and esi, 7
mov edx, eax
sar edx, 3
shl esi, 4
add esi, dword [ebp + edx*4 - 0x250]
cmp eax, ecx
jge 0x47477d
mov eax, dword [esi]
xor eax, ebx
test eax, 0xff000000
je 0x474908
test byte [0x4e34ec], 1
jne 0x474745
or dword [0x4e34ec], 1
push str.BTK_USE_STRICT_PRINTF
call fcn.0040c972
add esp, 4
test eax, eax
setne byte [0x4e34e8]
cmp byte [0x4e34e8], 0
je 0x474908
push 0x71a
push 0x4a7370
push str.btk_vsnprintf:_redefinition_of_specifier
call fcn.00467c40
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ebp - 8]
add esp, 0xc
inc dword [ebp - 4]
mov dword [edi + 8], ecx
mov dword [edi + 0x2c], esi
jmp 0x474490
mov ecx, dword [ebp + 0xc]
inc dword [ebp - 4]
mov dword [esi], ebx
mov ebx, dword [ebp - 8]
mov dword [edi + 8], ecx
mov dword [edi + 0x2c], esi
jmp 0x474490
mov dword [ebp - 0x20], ecx
mov dword [edi + 0x10], ecx
inc ecx
cmp ecx, dword [ebp - 0x10]
mov dword [ebp - 0xc], ecx
jle 0x4747df
mov esi, dword [ebp - 0x10]
mov edi, ecx
add edi, 7
sar edi, 3
sar esi, 3
cmp esi, edi
jge 0x4747d2
mov eax, 0x88
call fcn.0040b8d0
mov eax, esp
add eax, 7
and eax, 0xfffffff8
mov dword [ebp + esi*4 - 0x250], eax
inc esi
cmp esi, edi
jl 0x4747b4
lea ecx, [edi*8]
mov edi, dword [ebp - 0x40]
mov dword [ebp - 0x10], ecx
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp + 0x14]
mov edx, esi
and esi, 7
sar edx, 3
shl esi, 4
add esi, dword [ebp + edx*4 - 0x250]
mov eax, ebx
and eax, 0xff000000
mov dword [esi], ebx
cmp eax, 0x8000000
ja 0x47487b
je 0x47485c
cmp eax, 0x1000000
je 0x4748d7
cmp eax, 0x2000000
jne 0x474889
add ecx, 4
mov dword [ebp + 0x14], ecx
test bl, 4
je 0x474842
mov ax, word [ecx - 4]
mov ecx, dword [ebp + 0xc]
inc dword [ebp - 4]
mov ebx, dword [ebp - 8]
mov word [esi + 8], ax
mov dword [edi + 8], ecx
mov dword [edi + 0x2c], esi
jmp 0x474490
mov cl, byte [ecx - 4]
inc dword [ebp - 4]
mov ebx, dword [ebp - 8]
mov byte [esi + 8], cl
mov ecx, dword [ebp + 0xc]
mov dword [edi + 8], ecx
mov dword [edi + 0x2c], esi
jmp 0x474490
fld qword [ecx]
mov ebx, dword [ebp - 8]
add ecx, 8
fstp qword [esi + 8]
inc dword [ebp - 4]
mov dword [ebp + 0x14], ecx
mov ecx, dword [ebp + 0xc]
mov dword [edi + 8], ecx
mov dword [edi + 0x2c], esi
jmp 0x474490
cmp eax, 0x20000000
je 0x4748d7
cmp eax, 0x40000000
je 0x4748d7
test bl, 4
je 0x4748ad
mov edx, dword [ecx]
mov ebx, dword [ebp - 8]
add ecx, 4
inc dword [ebp - 4]
mov dword [ebp + 0x14], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esi + 8], edx
mov dword [edi + 8], ecx
mov dword [edi + 0x2c], esi
jmp 0x474490
test bl, 8
je 0x47488e
mov eax, dword [ecx]
mov ebx, dword [ebp - 8]
add ecx, 8
inc dword [ebp - 4]
mov dword [esi + 8], eax
mov dword [ebp + 0x14], ecx
mov ecx, dword [ecx - 4]
mov dword [esi + 0xc], ecx
mov ecx, dword [ebp + 0xc]
mov dword [edi + 8], ecx
mov dword [edi + 0x2c], esi
jmp 0x474490
add ecx, 4
cmp dword [ebp + 0xc], 0x7e
mov dword [ebp + 0x14], ecx
mov ecx, dword [ecx - 4]
mov dword [esi + 8], ecx
jne 0x474908
push ecx
lea eax, [ebp - 0x8d0]
call fcn.0046ede0
lea eax, [ebp - 0x8d0]
add esp, 4
mov dword [esi + 8], eax
mov dword [ebp + 0xc], 0x73
mov ecx, dword [ebp + 0xc]
inc dword [ebp - 4]
mov ebx, dword [ebp - 8]
mov dword [edi + 8], ecx
mov dword [edi + 0x2c], esi
jmp 0x474490
mov eax, dword [ebp - 4]
lea edx, [ebp - 8]
push edx
push eax
push esi
call fcn.00467ee0
mov ebx, dword [ebp - 8]
add esp, 0xc
mov dword [ebp - 4], eax
jmp 0x474490
mov eax, dword [edi + 0x14]
cmp eax, ebx
jg 0x474941
mov eax, ebx
mov dword [edi + 0x14], eax
mov eax, dword [ebp - 0x28]
cmp eax, ebx
jge 0x4749bb
cmp ebx, dword [ebp - 0x10]
jle 0x474991
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
add ebx, 7
sar ebx, 3
sar esi, 3
cmp esi, ebx
jge 0x474981
mov eax, 0x88
call fcn.0040b8d0
mov eax, esp
add eax, 7
and eax, 0xfffffff8
mov dword [ebp + esi*4 - 0x250], eax
inc esi
cmp esi, ebx
jl 0x474963
mov eax, dword [ebp - 0x28]
lea ecx, [ebx*8]
mov ebx, dword [ebp - 8]
mov dword [ebp - 0x10], ecx
lea ecx, [ebx - 1]
cmp eax, ecx
jge 0x4749b8
mov edx, eax
mov esi, eax
sar edx, 3
mov edx, dword [ebp + edx*4 - 0x250]
and esi, 7
shl esi, 4
inc eax
cmp eax, ecx
mov dword [esi + edx], 0
jl 0x474998
mov dword [ebp - 0x28], ebx
dec ebx
inc dword [ebp - 4]
mov dword [ebp - 8], ebx
mov dword [edi + 0x10], ebx
jmp 0x474490
inc edx
cmp ebx, dword [ebp - 0xc]
lea esi, [ebx - 1]
mov dword [ebp - 4], edx
mov dword [ebp - 0x20], esi
jg 0x474a78
mov eax, esi
and esi, 7
sar eax, 3
shl esi, 4
add esi, dword [ebp + eax*4 - 0x250]
cmp dword [esi], 0x4000000
je 0x474a43
test byte [0x4e34ec], 1
jne 0x474a20
or dword [0x4e34ec], 1
push str.BTK_USE_STRICT_PRINTF
call fcn.0040c972
mov ecx, dword [ebp - 0x1c]
add esp, 4
test eax, eax
setne byte [0x4e34e8]
cmp byte [0x4e34e8], 0
je 0x474a43
push 0x71a
push 0x4a7370
push str.btk_vsnprintf:_incorrect_type_of_argument_for_variable_width_or_precision
call fcn.00467c40
mov ecx, dword [ebp - 0x1c]
add esp, 0xc
mov esi, dword [esi + 8]
cmp ecx, 0x90
jne 0x474a66
test esi, esi
jge 0x474a5b
or dword [edi + 0x28], 0x200
neg esi
movsx ecx, si
mov dword [edi + 0x18], ecx
jmp 0x474490
test esi, esi
jge 0x474a6d
or esi, 0xffffffff
movsx edx, si
mov dword [edi + 0x1c], edx
jmp 0x474490
cmp ecx, 0x90
jne 0x474a89
mov eax, ebx
neg eax
mov dword [edi + 0x18], eax
jmp 0x474a90
mov ecx, ebx
neg ecx
mov dword [edi + 0x20], ecx
mov eax, dword [edi + 0x14]
cmp eax, ebx
jg 0x474a99
mov eax, ebx
mov dword [edi + 0x14], eax
mov eax, dword [ebp - 0x28]
cmp eax, ebx
jge 0x474b18
cmp ebx, dword [ebp - 0x10]
jle 0x474af1
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
add ebx, 7
sar ebx, 3
sar esi, 3
cmp esi, ebx
jge 0x474ade
jmp 0x474ac0
mov eax, 0x88
call fcn.0040b8d0
mov eax, esp
add eax, 7
and eax, 0xfffffff8
mov dword [ebp + esi*4 - 0x250], eax
inc esi
cmp esi, ebx
jl 0x474ac0
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
lea edx, [ebx*8]
mov ebx, dword [ebp - 8]
mov dword [ebp - 0x10], edx
cmp eax, esi
jge 0x474b15
mov ecx, eax
mov edx, eax
sar ecx, 3
mov ecx, dword [ebp + ecx*4 - 0x250]
and edx, 7
shl edx, 4
inc eax
cmp eax, esi
mov dword [edx + ecx], 0
jl 0x474af5
mov dword [ebp - 0x28], ebx
mov edx, esi
sar edx, 3
mov eax, dword [ebp + edx*4 - 0x250]
and esi, 7
shl esi, 4
mov dword [esi + eax], 0x4000000
jmp 0x474490
inc edx
add ecx, 0x10
mov dword [ebp - 4], edx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x20], eax
inc eax
cmp eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
jle 0x474b89
mov esi, dword [ebp - 0x10]
mov ebx, eax
add ebx, 7
sar ebx, 3
sar esi, 3
cmp esi, ebx
jge 0x474b7f
mov eax, 0x88
call fcn.0040b8d0
mov eax, esp
add eax, 7
and eax, 0xfffffff8
mov dword [ebp + esi*4 - 0x250], eax
inc esi
cmp esi, ebx
jl 0x474b61
lea ecx, [ebx*8]
mov dword [ebp - 0x10], ecx
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc]
mov edx, esi
and esi, 7
sar edx, 3
shl esi, 4
add esi, dword [ebp + edx*4 - 0x250]
cmp dword [ebp - 0x28], eax
jl 0x474bf9
mov eax, dword [esi]
test eax, eax
je 0x474bf9
cmp eax, 0x4000000
je 0x474bf9
test byte [0x4e34ec], 1
jne 0x474bd9
or dword [0x4e34ec], 1
push str.BTK_USE_STRICT_PRINTF
call fcn.0040c972
add esp, 4
test eax, eax
setne byte [0x4e34e8]
cmp byte [0x4e34e8], 0
je 0x474bf9
push 0x71a
push 0x4a7370
push str.btk_vsnprintf:_incorrect_type_of_argument_for_variable_width_or_precision
call fcn.00467c40
add esp, 0xc
mov eax, dword [ebp + 0x14]
add eax, 4
cmp dword [ebp - 0x1c], 0x50
mov dword [esi], 0x4000000
mov dword [ebp + 0x14], eax
mov eax, dword [eax - 4]
mov dword [esi + 8], eax
jne 0x474c2f
test eax, eax
jge 0x474c21
or dword [edi + 0x28], 0x200
neg eax
mov ebx, dword [ebp - 8]
movsx ecx, ax
mov dword [edi + 0x18], ecx
jmp 0x474490
test eax, eax
jge 0x474c36
or eax, 0xffffffff
mov ebx, dword [ebp - 8]
movsx edx, ax
mov dword [edi + 0x1c], edx
jmp 0x474490
mov eax, ebx
test ebx, ebx
jge 0x474c53
or dword [edi + 0x28], 0x200
neg eax
cwde
mov dword [edi + 0x18], eax
jmp case.0x47441c.17
cmp esi, 0x23
je 0x474490
cmp esi, 0x20
je 0x474490
cmp esi, 0x2d
sete al
mov byte [ebp + 0xf], al
test al, al
je 0x474c97
mov eax, dword [ebp - 4]
movsx esi, byte [eax + 1]
inc eax
push esi
mov dword [ebp - 4], eax
call fcn.004066eb
add esp, 4
test eax, eax
je 0x474490
mov edx, dword [ebp - 4]
lea ecx, [ebp - 8]
push ecx
push edx
push esi
call fcn.00467ee0
add esp, 0xc
cmp byte [ebp + 0xf], 0
mov dword [ebp - 4], eax
je 0x474cb8
or dword [edi + 0x28], 0x200
mov ebx, dword [ebp - 8]
mov eax, ebx
test ebx, ebx
jge 0x474cc4
or eax, 0xffffffff
cwde
mov dword [edi + 0x1c], eax
jmp 0x474490
test byte [0x4e34ec], 1
jne 0x474cf3
or dword [0x4e34ec], 1
push str.BTK_USE_STRICT_PRINTF
call fcn.0040c972
add esp, 4
test eax, eax
setne byte [0x4e34e8]
cmp byte [0x4e34e8], 0
je 0x474d13
push 0x71a
push 0x4a7370
push str.btk_vsnprintf:_invalid_format_specification
call fcn.00467c40
add esp, 0xc
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 4], edx
cmp dword [ebp - 0x30], 0
jle 0x4751ea
mov eax, dword [ebp - 4]
cmp byte [eax], 0
jne 0x474dda
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 0x28]
cmp esi, edi
jge 0x474dda
mov edx, dword [ebp + 0x14]
mov eax, esi
and eax, 7
mov ecx, esi
sar ecx, 3
shl eax, 4
add eax, dword [ebp + ecx*4 - 0x250]
mov ebx, dword [eax]
mov ecx, ebx
and ecx, 0xff000000
cmp ecx, 0x8000000
ja 0x474d9c
je 0x474d92
cmp ecx, 0x1000000
je 0x474dc6
cmp ecx, 0x2000000
jne 0x474dac
add edx, 4
test bl, 4
je 0x474d8a
mov cx, word [edx - 4]
mov word [eax + 8], cx
jmp 0x474dce
mov cl, byte [edx - 4]
mov byte [eax + 8], cl
jmp 0x474dce
fld qword [edx]
add edx, 8
fstp qword [eax + 8]
jmp 0x474dce
cmp ecx, 0x20000000
je 0x474dc6
cmp ecx, 0x40000000
je 0x474dc6
test bl, 4
jne 0x474dc6
test bl, 8
je 0x474dc6
mov ecx, dword [edx]
add edx, 8
mov dword [eax + 8], ecx
mov ecx, dword [edx - 4]
mov dword [eax + 0xc], ecx
jmp 0x474dce
mov ecx, dword [edx]
add edx, 4
mov dword [eax + 8], ecx
inc esi
cmp esi, edi
jl 0x474d40
mov dword [ebp + 0x14], edx
mov eax, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x3c]
mov esi, eax
and esi, 7
mov ecx, eax
sar ecx, 3
shl esi, 6
add esi, dword [ebp + ecx*4 - 0x650]
mov ecx, dword [esi + 0x14]
cmp ecx, dword [ebp - 0xc]
jg 0x4751da
mov eax, dword [esi + 0x18]
test eax, eax
jge 0x474e36
not eax
mov ecx, eax
and eax, 7
sar ecx, 3
mov ecx, dword [ebp + ecx*4 - 0x250]
shl eax, 4
mov eax, dword [ecx + eax + 8]
test eax, eax
jge 0x474e32
or dword [esi + 0x28], 0x200
neg eax
cwde
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x20]
test eax, eax
jge 0x474e67
not eax
mov ecx, eax
and eax, 7
sar ecx, 3
mov ecx, dword [ebp + ecx*4 - 0x250]
shl eax, 4
mov eax, dword [ecx + eax + 8]
test eax, eax
jge 0x474e5c
or eax, 0xffffffff
cwde
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], 0
mov ecx, dword [esi]
sub ecx, edx
mov dword [ebp - 0x20], ecx
test ecx, ecx
jle 0x474e8f
mov eax, edx
add edx, ecx
mov dword [ebp + 0xc], edx
cmp edi, ebx
je 0x474e8c
cmp eax, dword [ebp + 0xc]
je 0x474e8c
mov dl, byte [eax]
mov byte [edi], dl
inc edi
inc eax
cmp edi, ebx
jne 0x474e7d
add dword [ebp - 0x14], ecx
mov eax, dword [esi + 4]
xor edx, edx
mov dword [ebp - 0x48], edx
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x3c], eax
mov eax, ecx
and eax, 0xff000000
cmp eax, 0x8000000
ja 0x474fd3
je 0x474fb3
cmp eax, 0x1000000
je 0x474f41
cmp eax, 0x2000000
je 0x474ef0
cmp eax, 0x4000000
jne 0x47504c
lea eax, [ebp - 0x24]
push eax
lea edx, [ebp - 0x250]
push esi
mov dword [ebp - 0x24], edx
call fcn.0046e990
add esp, 8
mov dword [ebp - 0x34], eax
jmp 0x47504c
lea eax, [ebp - 0x450]
mov dword [ebp - 0x24], eax
mov dword [esi + 0xc], edx
test cl, 4
je 0x474f28
mov ecx, dword [esi + 0x2c]
movzx eax, word [ecx + 8]
push eax
lea edx, [ebp - 0x450]
push edx
call dword [0x4bede8]
add esp, 8
cmp eax, 0xffffffff
jne 0x474f39
xor eax, eax
mov dword [ebp - 0x34], eax
jmp 0x47504c
mov eax, dword [esi + 0x2c]
mov cl, byte [eax + 8]
mov byte [ebp - 0x450], cl
mov eax, 1
mov dword [ebp - 0x34], eax
jmp 0x47504c
mov edx, dword [esi + 0x2c]
mov eax, dword [ebp + 8]
cmp dword [edx + 8], eax
jne 0x474f91
cmp eax, edi
je 0x474f91
test byte [0x4e34ec], 1
jne 0x474f77
or dword [0x4e34ec], 1
push str.BTK_USE_STRICT_PRINTF
call fcn.0040c972
add esp, 4
test eax, eax
setne al
mov byte [0x4e34e8], al
push 0x71a
push 0x4a7370
push str.btk_vsnprintf:_I_O_buffers_overlapping_is_not_allowed
call fcn.00467c40
add esp, 0xc
mov byte [edi], 0
lea edx, [ebp - 0x48]
push edx
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x450]
push esi
mov dword [ebp - 0x24], ecx
call fcn.00468770
add esp, 0xc
mov dword [ebp - 0x34], eax
jmp 0x47504c
push 0x4be92c
lea edx, [ebp - 0x24]
push edx
lea ecx, [ebp - 0x450]
push esi
mov dword [ebp - 0x24], ecx
call fcn.00473910
add esp, 0xc
mov dword [ebp - 0x34], eax
jmp 0x47504c
cmp eax, 0x10000000
je 0x47503e
cmp eax, 0x20000000
je 0x474ed2
cmp eax, 0x40000000
jne 0x47504c
mov eax, dword [esi + 0x2c]
mov esi, dword [eax + 8]
test cl, 1
je 0x475001
mov cl, byte [ebp - 0x14]
mov byte [esi], cl
jmp 0x4751ca
test cl, 2
je 0x475012
mov dx, word [ebp - 0x14]
mov word [esi], dx
jmp 0x4751ca
test cl, 4
je 0x475021
mov eax, dword [ebp - 0x14]
mov dword [esi], eax
jmp 0x4751ca
test cl, 8
je 0x475034
mov eax, dword [ebp - 0x14]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x4751ca
mov ecx, dword [ebp - 0x14]
mov dword [esi], ecx
jmp 0x4751ca
mov dword [ebp - 0x24], 0x4a7458
mov dword [ebp - 0x34], 1
mov ecx, dword [esi + 0x18]
mov edx, dword [ebp - 0x34]
mov eax, dword [esi + 0x28]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [esi + 0x20]
cmp ecx, edx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x50], ecx
jle 0x47506a
mov dword [ebp - 8], ecx
jmp 0x47506f
mov ecx, edx
mov dword [ebp - 8], edx
cmp dword [esi + 0xc], 0
je 0x475078
inc ecx
jmp 0x475082
test eax, 0x800
je 0x475085
add ecx, 2
mov dword [ebp - 8], ecx
mov edx, eax
and edx, 0x600
mov dword [ebp - 0x40], edx
jne 0x4750b7
mov eax, dword [ebp - 0x1c]
sub eax, ecx
mov edx, 0
sets dl
dec edx
and eax, edx
add eax, edi
cmp edi, ebx
je 0x4750b4
cmp edi, eax
je 0x4750b4
mov byte [edi], 0x20
inc edi
cmp edi, ebx
jne 0x4750a8
mov eax, dword [ebp - 0x18]
cmp dword [esi + 0xc], 0
je 0x4750dd
mov al, byte [esi + 0xc]
mov byte [ebp + 0xf], al
lea eax, [ebp + 0xf]
cmp edi, ebx
je 0x475106
lea edx, [ebp + 0x10]
cmp eax, edx
je 0x475106
mov dl, byte [eax]
mov byte [edi], dl
inc edi
inc eax
cmp edi, ebx
jne 0x4750ca
jmp 0x475106
test eax, 0x800
je 0x475106
mov al, byte [esi + 8]
mov byte [ebp + 0x11], al
mov byte [ebp + 0x10], 0x30
lea eax, [ebp + 0x10]
cmp edi, ebx
je 0x475106
lea edx, [ebp + 0x12]
cmp eax, edx
je 0x475106
mov dl, byte [eax]
mov byte [edi], dl
inc edi
inc eax
cmp edi, ebx
jne 0x4750f5
cmp dword [ebp - 0x40], 0x400
jne 0x475131
mov eax, dword [ebp - 0x1c]
sub eax, ecx
mov ecx, 0
sets cl
dec ecx
and eax, ecx
add eax, edi
cmp edi, ebx
je 0x475131
cmp edi, eax
je 0x475131
mov byte [edi], 0x30
inc edi
cmp edi, ebx
jne 0x475125
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x34]
sub eax, ecx
mov edx, 0
sets dl
dec edx
and eax, edx
add eax, edi
cmp edi, ebx
je 0x47515c
lea ebx, [ebx]
cmp edi, eax
je 0x47515c
mov byte [edi], 0x30
inc edi
cmp edi, ebx
jne 0x475150
mov esi, dword [ebp - 0x24]
xor edx, edx
test ecx, ecx
setl dl
mov eax, esi
dec edx
and edx, ecx
add esi, edx
cmp edi, ebx
je 0x47517f
cmp eax, esi
je 0x47517f
mov cl, byte [eax]
mov byte [edi], cl
inc edi
inc eax
cmp edi, ebx
jne 0x475171
test dword [ebp - 0x18], 0x200
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ebp - 8]
je 0x4751af
mov eax, ecx
sub eax, esi
mov edx, 0
sets dl
dec edx
and eax, edx
add eax, edi
cmp edi, ebx
je 0x4751af
cmp edi, eax
je 0x4751af
mov byte [edi], 0x20
inc edi
cmp edi, ebx
jne 0x4751a3
cmp ecx, esi
mov eax, ecx
jg 0x4751b7
mov eax, esi
add dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x4751ca
push eax
call fcn.00466520
add esp, 4
mov eax, dword [ebp - 0x38]
inc eax
cmp eax, dword [ebp - 0x30]
mov dword [ebp - 0x38], eax
jl 0x474de3
mov dword [ebp - 0x18], edi
cmp eax, dword [ebp - 0x30]
jne 0x4751ea
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 4]
cmp byte [eax], 0
mov ecx, dword [ebp - 0x18]
jne 0x4742f0
mov esi, dword [ebp - 4]
mov eax, dword [ebp - 0x3c]
sub esi, eax
test esi, esi
jle 0x475233
mov edx, dword [ebp - 0x4c]
lea edi, [esi + eax]
cmp ecx, edx
je 0x47521e
nop
cmp eax, edi
je 0x47521e
mov bl, byte [eax]
mov byte [ecx], bl
inc ecx
inc eax
cmp ecx, edx
jne 0x475210
mov eax, dword [ebp - 0x14]
add eax, esi
mov byte [ecx], 0
lea esp, [ebp - 0xadc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x14]
mov byte [ecx], 0
lea esp, [ebp - 0xadc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret