Function at 0x41e913
Capabilities:
Check for software breakpoints
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
mov eax, dword [ebp + 0xc]
push ebx
push esi
push edi
mov esi, dword [eax + 4]
test esi, esi
mov dword [ebp - 0xc], esi
je 0x41ee59
lea eax, [ebp - 0x3c]
push eax
call fcn.0042149b
mov esi, dword [esi + 0x1c]
pop ecx
test esi, esi
mov dword [ebp - 4], esi
je 0x41ec3a
mov eax, dword [ebp - 4]
mov si, word [eax + 4]
test si, si
je 0x41ec29
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x28], 0xffffffff
je 0x41e990
mov ebx, dword [ebp - 4]
mov edi, dword [0x459390]
movsx edx, word [ebx + 0xa]
movsx eax, word [ebx + 8]
mov ecx, edx
shl ecx, 2
cmp eax, dword [edi + ecx]
jle 0x41e97d
xor edi, edi
jmp 0x41e98b
sub eax, edx
mov edx, dword [0x45938c]
mov ecx, dword [edx + ecx]
mov edi, dword [ecx + eax*4]
mov dword [ebp - 0x10], edi
jmp 0x41e99d
mov edi, dword [ebp + 0x30]
add dword [ebp + 0x30], 0x38
mov ebx, dword [ebp - 4]
mov dword [ebp - 0x10], edi
and dword [ebp - 8], 0
test si, si
jle 0x41e9c9
xor esi, esi
mov eax, dword [ebx]
lea eax, [eax + esi + 0x20]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.00421426
movsx eax, word [ebx + 4]
inc dword [ebp - 8]
pop ecx
add esi, 0x28
cmp dword [ebp - 8], eax
pop ecx
jl 0x41e9a8
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x18]
cmp byte [eax + ecx*8 + 5], 0xc9
lea edx, [eax + ecx*8]
mov dword [ebp - 0x20], edx
jne 0x41e9ed
mov ax, word [ebx + 0xa]
cmp ax, word [ebx + 0xc]
jne 0x41ec29
mov ebx, dword [ebp - 4]
movsx eax, word [ebx + 8]
movsx ecx, word [ebx + 0xa]
sub eax, ecx
movzx ecx, byte [edx + 4]
inc eax
cmp eax, ecx
jne 0x41ec29
test edi, edi
je 0x41ec29
mov eax, dword [edi + 0x10]
cmp eax, 0xffffffff
je 0x41ec1e
cmp dword [ebp + 8], 6
jne 0x41ea32
mov ecx, dword [edx]
mov esi, dword [0x4599e0]
shl eax, 5
shr ecx, 0x18
cmp byte [eax + esi + 0x1c], cl
jmp 0x41ea44
mov ecx, dword [edx]
mov esi, dword [0x4599e0]
shl eax, 5
shr ecx, 0x18
cmp byte [eax + esi + 0x1d], cl
jne 0x41ec1e
xor esi, esi
cmp dword [edi + 0xc], esi
mov dword [ebp - 8], esi
jle 0x41ec1e
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x28]
cmp ecx, 0xffffffff
je 0x41ea87
mov eax, dword [edi + 0x1c]
mov al, byte [eax + esi]
and al, 0x1f
cmp al, 0x1f
je 0x41ec0e
mov eax, dword [edi + 0x20]
test eax, eax
je 0x41ea87
mov al, byte [esi + eax]
and al, 0x1f
cmp al, 0x1f
je 0x41ec0e
mov eax, dword [edi + 8]
mov edx, dword [edx]
add eax, esi
and edx, 0xffffff
cmp edx, eax
jne 0x41ec0e
cmp ecx, 0xffffffff
je 0x41eb5b
mov eax, dword [edi + 0x18]
lea eax, [eax + esi*2]
push eax
call fcn.00422723
pop ecx
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x28]
push 0
push ecx
push eax
call fcn.00422509
add esp, 0xc
cmp eax, 0xffffffff
mov dword [ebp - 0x30], eax
je 0x41ed03
xor ebx, ebx
and dword [ebp - 0x1c], ebx
test eax, eax
jle 0x41eb51
mov eax, dword [ebp - 4]
movsx eax, word [eax + 4]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
and dword [ebp - 0x14], 0
cmp dword [ebp - 0x24], 0
jle 0x41eb3e
mov eax, dword [ebp - 4]
push 0x20
pop ecx
mov edi, dword [eax]
mov eax, dword [ebp - 0x18]
movzx esi, word [eax]
mov eax, esi
cdq
idiv ecx
shr esi, 5
lea eax, [edi + esi*4]
mov dword [ebp - 0x2c], edx
mov edx, dword [eax]
mov ecx, dword [ebp - 0x2c]
sar edx, cl
and edx, 1
cmp dl, 1
je 0x41eb2e
inc dword [ebp - 0x14]
add eax, 0x28
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x24]
jl 0x41eb0f
jmp 0x41eb38
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8 + 0x20]
mov edi, dword [ebp - 0x10]
mov esi, dword [ebp - 8]
test ebx, ebx
jne 0x41eb63
inc dword [ebp - 0x1c]
add dword [ebp - 0x18], 2
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x30]
jl 0x41eae9
test ebx, ebx
je 0x41ec0e
jmp 0x41eb63
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
add ebx, 0x20
mov eax, dword [ebp - 0x20]
mov al, byte [eax + 5]
cmp al, 0xcc
jne 0x41eb83
push 0x23
push ebx
call fcn.00421968
pop ecx
test eax, eax
pop ecx
jne 0x41ec0e
push 0xc
jmp 0x41ebfe
cmp al, 0xce
jne 0x41eb99
push 0x23
push ebx
call fcn.00421968
pop ecx
test eax, eax
pop ecx
jne 0x41ec0e
push 0xd
jmp 0x41ebfe
cmp al, 0xca
jne 0x41ebb3
push 0x24
push ebx
call fcn.00421968
pop ecx
test eax, eax
pop ecx
jne 0x41ed16
push 0x11
jmp 0x41ebfe
cmp al, 0xc9
je 0x41ed16
cmp al, 0xcd
je 0x41ed16
cmp al, 0xcf
je 0x41ed16
mov ecx, dword [ebp + 0x1c]
sub ecx, 0
je 0x41ebfa
dec ecx
je 0x41ebe4
dec ecx
je 0x41ee60
dec ecx
jne 0x41ed16
push 1
push ebx
call fcn.00421968
pop ecx
test eax, eax
pop ecx
jne 0x41ed16
push 0x13
jmp 0x41ebfe
movzx eax, al
push eax
push ebx
call fcn.00421968
pop ecx
test eax, eax
pop ecx
jne 0x41ed16
mov edx, dword [ebp - 0x20]
inc esi
cmp esi, dword [edi + 0xc]
mov dword [ebp - 8], esi
jl 0x41ea58
mov edi, dword [edi + 0x14]
mov dword [ebp - 0x10], edi
jmp 0x41ea04
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
test eax, eax
mov dword [ebp - 4], eax
jne 0x41e945
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x18]
mov al, byte [eax + ecx*8 + 5]
cmp al, 0xc9
je 0x41ee59
cmp al, 2
je 0x41ee59
cmp al, 0xcc
je 0x41ee59
cmp al, 0xcd
je 0x41ee59
cmp al, 0xce
je 0x41ee59
cmp al, 0xcf
je 0x41ee59
cmp al, 0xca
je 0x41ee59
mov ecx, dword [ebp + 0x1c]
sub ecx, 0
je 0x41ecd4
dec ecx
je 0x41ecbb
dec ecx
je 0x41ec8f
dec ecx
je 0x41ecbb
jmp 0x41eceb
lea eax, [ebp - 0x3c]
push 3
push eax
call fcn.00421968
pop ecx
test eax, eax
pop ecx
jne 0x41ee59
lea eax, [ebp - 0x3c]
push 4
push eax
call fcn.00421968
pop ecx
test eax, eax
pop ecx
jne 0x41ee59
jmp 0x41eceb
lea eax, [ebp - 0x3c]
push 1
push eax
call fcn.00421968
pop ecx
test eax, eax
pop ecx
jne 0x41ee59
push 0x13
jmp 0x41ecd8
movzx eax, al
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.00421968
pop ecx
test eax, eax
pop ecx
jne 0x41ee59
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 4]
test eax, eax
mov dword [ebp - 0xc], eax
je 0x41ee59
mov esi, eax
jmp 0x41e92d
push str.wnn_get_fukugou_component:error_in_check_fi_data.
call fcn.00418ce9
pop ecx
or eax, 0xffffffff
jmp 0x41ee5b
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x41ed36
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x10]
movzx esi, byte [edx + ecx*8 + 6]
lea eax, [eax + ecx*2]
movzx ecx, byte [eax]
add esi, ecx
test byte [eax + 1], 0x80
jmp 0x41ed49
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x18]
movzx esi, byte [eax + ecx*8 + 6]
test byte [eax + ecx*8 + 7], 0x80
lea eax, [eax + ecx*8]
je 0x41ed51
add esi, 0x3e8
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x20]
mov edi, dword [ebp + 0x2c]
mov eax, dword [edx + 0x14]
mov ecx, dword [eax + 0x20]
cmp ebx, ecx
jne 0x41ed69
cmp edi, dword [eax + 0x1c]
je 0x41edc4
movsx edx, word [edx + 0x20]
cmp esi, edx
jl 0x41ee54
jne 0x41edb2
mov edx, dword [edi + 0x1c]
movzx edx, byte [edx + ebx]
mov dword [ebp + 0x10], edx
mov edx, dword [edi + 0x20]
test edx, edx
je 0x41ed92
movzx edx, byte [ebx + edx]
add dword [ebp + 0x10], edx
mov ebx, dword [ebp + 0x20]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax + 0x1c]
mov eax, dword [eax + 0x20]
test eax, eax
movzx edx, byte [edx + ecx]
je 0x41eda9
movzx eax, byte [eax + ecx]
add edx, eax
cmp dword [ebp + 0x10], edx
jl 0x41ee54
mov eax, dword [ebp - 0xc]
and word [eax + 0x20], 0
mov eax, dword [ebp + 0xc]
mov edx, eax
and word [eax + 0x20], 0
movsx eax, word [edx + 0x20]
cmp eax, esi
jge 0x41ee0b
mov eax, dword [ebp + 0xc]
mov dx, word [ebp + 0x24]
mov ecx, dword [eax + 0x14]
mov word [eax + 0x20], si
mov dword [ecx + 0x20], ebx
mov ecx, dword [eax + 0x14]
mov word [ecx + 0xa], dx
mov eax, dword [eax + 0x14]
mov cx, word [ebp + 0x28]
mov word [eax + 8], cx
mov eax, dword [edi + 0x18]
lea eax, [eax + ebx*2]
push eax
call fcn.00422723
pop ecx
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x14]
mov dword [edx + 0x28], eax
mov eax, dword [ecx + 0x14]
mov dword [eax + 0x1c], edi
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x28], 0xffffffff
je 0x41ee54
movsx ecx, word [eax + 0x20]
cmp ecx, esi
jge 0x41ee54
mov ecx, dword [eax + 0x14]
mov edx, dword [ebp - 8]
mov word [eax + 0x20], si
mov dword [ecx + 0x20], edx
mov ecx, dword [ebp - 4]
mov edx, dword [eax + 0x14]
mov si, word [ecx + 0xa]
mov word [edx + 0xa], si
mov edx, dword [eax + 0x14]
mov cx, word [ecx + 8]
mov word [edx + 8], cx
mov ecx, dword [eax + 0x14]
mov edx, dword [ebp - 0x34]
mov dword [ecx + 0x28], edx
mov eax, dword [eax + 0x14]
mov ecx, dword [ebp - 0x10]
mov dword [eax + 0x1c], ecx
push 1
pop eax
jmp 0x41ee5b
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
push 3
push ebx
call fcn.00421968
pop ecx
test eax, eax
pop ecx
jne 0x41ed16
push 4
jmp 0x41ebfe