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

Disassembly:
sub esp, 0x69c
mov edx, dword [esp + 0x6a4]
push ebx
push ebp
xor ebx, ebx
cmp dword [esp + 0x6b0], ebx
push esi
push edi
mov ebp, str._0__1
mov dword [esp + 0x1c], ebx
jne 0x411d81
mov eax, ebp
lea esi, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x411cf0
sub eax, esi
sar eax, 1
test edx, edx
mov esi, eax
je 0x411d2c
mov eax, dword [edx]
lea ecx, [esi + esi + 2]
push ecx
mov ecx, dword [esp + 0x6b4]
push ecx
mov ecx, edx
mov edx, dword [eax]
call edx
test al, al
jne 0x411d51
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x69c
ret
test esi, esi
jl 0x411d51
mov eax, str._0__1
sub eax, 4
movzx eax, word [eax]
cmp ax, 0xdc00
jb 0x411d4e
cmp ax, 0xdfff
ja 0x411d4e
mov esi, 0xfffffffe
jmp 0x411d51
or esi, 0xffffffff
mov ebx, dword [esp + 0x6b0]
mov ecx, dword [ebx]
lea edi, [esi + esi]
push edi
push str._0__1
push ecx
call sub.MSVCR80.dll_memcpy
mov edx, dword [ebx]
add esp, 0xc
mov word [edi + edx], 0
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x69c
ret
xor esi, esi
mov dword [esp + 0x14], esi
mov ecx, edx
jmp 0x411d97
mov ecx, dword [esp + 0x6b4]
movzx eax, word [ebp]
cmp ax, 0x7b
mov edi, dword [esp + 0x6b0]
jne 0x412888
movzx eax, word [ebp + 2]
add ebp, 2
cmp ax, 0x7b
je 0x4128a3
push 0x7d
push ebp
call dword [sym.imp.MSVCR80.dll_wcschr]
mov edi, eax
add esp, 8
test edi, edi
je 0x41297a
sub eax, ebp
sar eax, 1
cmp eax, 0x100
jae 0x41297a
lea esi, [eax + eax]
push esi
lea eax, [esp + 0x4ac]
push ebp
push eax
call sub.MSVCR80.dll_memcpy
push 0xa
lea ecx, [esp + 0x38]
xor ebx, ebx
push ecx
lea edx, [esp + 0x4bc]
mov word [esp + esi + 0x4bc], bx
mov esi, dword [sym.imp.MSVCR80.dll_wcstol]
add edi, 2
push edx
mov dword [esp + 0x4c], edi
call esi
mov ebp, eax
mov eax, dword [esp + 0x40]
add esp, 0x18
cmp word [eax], 0x2c
mov dword [esp + 0x20], ebx
jne 0x411e6b
cmp word [eax + 2], 0x2a
lea ecx, [eax + 2]
push 0xa
je 0x411e49
lea eax, [esp + 0x2c]
push eax
push ecx
call esi
mov dword [esp + 0x2c], eax
jmp 0x411e64
lea ecx, [esp + 0x2c]
push ecx
add eax, 4
push eax
call esi
mov edx, dword [esp + 0x6c8]
mov eax, dword [edx + eax*4]
mov ecx, dword [eax]
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x34]
add esp, 0xc
xor esi, esi
cmp word [eax], 0x3a
jne 0x411e8d
lea esi, [eax + 2]
push 0x40
push esi
call dword [sym.imp.MSVCR80.dll_wcschr]
add esp, 8
cmp eax, ebx
mov dword [esp + 0x28], eax
je 0x411e8d
mov word [eax], bx
mov edi, dword [esp + 0x6bc]
mov ecx, dword [edi + ebp*4]
xor edx, edx
mov word [esp + 0xa8], dx
mov ebx, dword [ecx + 8]
lea eax, [ebx - 1]
cmp eax, 7
mov dword [esp + 0x2c], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x30], edx
ja case.default.0x411ebc
jmp dword [eax*4 + 0x412a50]
cmp esi, edx
jne 0x411edb
cmp ebx, 1
je 0x411ed6
cmp ebx, 3
mov esi, 0x43aa88
jne 0x411edb
mov esi, 0x43aa84
movzx ebp, word [esi]
movzx edx, bp
add edx, 0xffffffa8
cmp edx, 0x20
ja case.0x411ef4.89
movzx edx, byte [edx + 0x412a8c]
jmp dword [edx*4 + 0x412a70]
mov ax, word [ecx]
lea ecx, [esp + 0xa8]
mov word [esp + 0xa8], ax
mov word [esp + 0xaa], 0
mov dword [esp + 0x24], ecx
jmp case.default.0x411ebc
mov eax, dword [esp + 0x20]
cmp eax, 0xff
mov edi, eax
jle 0x411f32
mov edi, 0xff
test eax, eax
jle 0x411f3c
sub eax, edi
mov dword [esp + 0x20], eax
xor dl, dl
add esi, 2
cmp bp, 0x64
jne 0x411f52
cmp word [esi], 0x2b
jne 0x411f52
mov dl, 1
add esi, 2
test edi, edi
jle 0x411f61
cmp word [esi], 0x30
mov byte [esp + 0x1b], 1
je 0x411f66
mov byte [esp + 0x1b], 0
xor eax, eax
test dl, dl
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x38], 0x25
mov eax, 1
je 0x411fa9
mov word [esp + 0x3a], 0x2b
mov eax, 2
cmp byte [esp + 0x1b], 0
je 0x411fba
mov word [esp + eax*2 + 0x38], 0x30
add eax, 1
xor edx, edx
cmp edi, edx
jle 0x411fca
mov word [esp + eax*2 + 0x38], 0x2a
add eax, 1
cmp ebx, 1
je 0x41204a
cmp ebx, 2
je 0x41204a
mov word [esp + eax*2 + 0x38], 0x49
add eax, 1
mov word [esp + eax*2 + 0x38], 0x36
add eax, 1
mov word [esp + eax*2 + 0x38], 0x34
add eax, 1
mov word [esp + eax*2 + 0x38], bp
add eax, 1
mov word [esp + eax*2 + 0x38], dx
mov eax, dword [ecx]
cmp edi, edx
mov edx, dword [ecx + 4]
push edx
mov esi, 0x100
lea ecx, [esp + 0x3c]
push eax
jle 0x41202f
push edi
push ecx
lea edi, [esp + 0xb8]
call fcn.004117c0
mov ecx, edi
add esp, 0x10
mov dword [esp + 0x24], ecx
jmp case.default.0x411ebc
push ecx
lea edi, [esp + 0xb4]
call fcn.004117c0
mov ecx, edi
add esp, 0xc
mov dword [esp + 0x24], ecx
jmp case.default.0x411ebc
mov word [esp + eax*2 + 0x38], bp
add eax, 1
cmp edi, edx
mov word [esp + eax*2 + 0x38], dx
mov esi, 0x100
jle 0x412083
mov edx, dword [ecx]
push edx
push edi
lea eax, [esp + 0x40]
push eax
lea edi, [esp + 0xb4]
call fcn.004117c0
mov ecx, edi
add esp, 0xc
mov dword [esp + 0x24], ecx
jmp case.default.0x411ebc
mov ecx, dword [ecx]
push ecx
lea edx, [esp + 0x3c]
push edx
lea edi, [esp + 0xb0]
call fcn.004117c0
mov ecx, edi
add esp, 8
mov dword [esp + 0x24], ecx
jmp case.default.0x411ebc
cmp eax, 3
ja case.default.0x4120aa
jmp dword [eax*4 + 0x412ab0]
mov eax, dword [ecx]
push eax
push 0x438bbc
mov esi, 0x100
lea edi, [esp + 0x2b0]
call fcn.004117c0
add esp, 8
jmp case.default.0x4120aa
mov ecx, dword [ecx]
push ecx
push 0x43a84c
jmp 0x4120b9
mov edx, dword [ecx + 4]
mov eax, dword [ecx]
push edx
push eax
push 0x43aa8c
jmp 0x4120f3
mov edx, dword [ecx + 4]
mov eax, dword [ecx]
push edx
push eax
push str._I64u
mov esi, 0x100
lea edi, [esp + 0x2b4]
call fcn.004117c0
add esp, 0xc
lea ecx, [esp + 0x80]
push ecx
lea ecx, [esp + 0x98]
xor eax, eax
lea esi, [esp + 0x3c]
call fcn.00411bf0
add esp, 4
push 0x100
lea edx, [esp + 0xac]
push edx
mov eax, esi
push eax
lea ecx, [esp + 0x2b4]
push ecx
push 0
push 0x400
call dword [sym.imp.KERNEL32.dll_GetNumberFormatW]
test eax, eax
jne case.0x411ef4.89
lea ecx, [esp + 0xa8]
mov word [esp + 0xa8], ax
mov dword [esp + 0x24], ecx
jmp case.default.0x411ebc
cmp ebx, 1
je 0x41219d
cmp ebx, 2
je 0x41219d
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
push 0x100
lea edx, [esp + 0xac]
push edx
push eax
push ecx
call dword [sym.imp.SHLWAPI.dll_StrFormatByteSizeW]
lea ecx, [esp + 0xa8]
mov dword [esp + 0x24], ecx
jmp case.default.0x411ebc
mov eax, dword [ecx]
push 0x100
lea edx, [esp + 0xac]
push edx
cdq
push edx
push eax
call dword [sym.imp.SHLWAPI.dll_StrFormatByteSizeW]
lea ecx, [esp + 0xa8]
mov dword [esp + 0x24], ecx
jmp case.default.0x411ebc
cmp ebx, 1
je 0x4121f9
cmp ebx, 2
je 0x4121f9
mov edx, dword [ecx + 4]
push 0x100
lea eax, [esp + 0xac]
push eax
mov eax, dword [ecx]
push edx
push eax
call dword [sym.imp.SHLWAPI.dll_StrFormatKBSizeW]
lea ecx, [esp + 0xa8]
mov dword [esp + 0x24], ecx
jmp case.default.0x411ebc
mov eax, dword [ecx]
push 0x100
lea edx, [esp + 0xac]
push edx
cdq
push edx
push eax
call dword [sym.imp.SHLWAPI.dll_StrFormatKBSizeW]
lea ecx, [esp + 0xa8]
mov dword [esp + 0x24], ecx
jmp case.default.0x411ebc
movzx edx, word [esi + 2]
cmp dx, 0x31
mov eax, 6
jb 0x41223c
cmp dx, 0x36
ja 0x41223c
movzx eax, dx
sub eax, 0x30
cmp ebx, 1
je 0x41226d
cmp ebx, 2
je 0x41226d
push eax
mov eax, dword [ecx]
push eax
push 0x100
lea ecx, [esp + 0xb4]
push ecx
call dword [sym.imp.SHLWAPI.dll_StrFromTimeIntervalW]
lea ecx, [esp + 0xa8]
mov dword [esp + 0x24], ecx
jmp case.default.0x411ebc
mov edx, dword [ecx]
push eax
push edx
push 0x100
lea eax, [esp + 0xb4]
push eax
call dword [sym.imp.SHLWAPI.dll_StrFromTimeIntervalW]
lea ecx, [esp + 0xa8]
mov dword [esp + 0x24], ecx
jmp case.default.0x411ebc
cmp esi, edx
jne 0x41229d
mov esi, 0x43aaa4
movzx eax, word [esi + 2]
lea ecx, [esi + 2]
or ebx, 0xffffffff
cmp ax, 0x2a
jne 0x4122be
lea edx, [esi + 4]
push edx
call dword [sym.imp.MSVCR80.dll__wtol]
mov eax, dword [edi + eax*4]
mov ebx, dword [eax]
jmp 0x4122d3
cmp ax, 0x30
jb 0x4122d6
cmp ax, 0x39
ja 0x4122d6
push ecx
call dword [sym.imp.MSVCR80.dll__wtol]
mov ebx, eax
add esp, 4
movzx ecx, word [esi]
movzx eax, cx
add eax, 0xffffffdc
cmp eax, 0x4a
ja case.0x4122ef.37
movzx edx, byte [eax + 0x412ad0]
jmp dword [edx*4 + 0x412ac0]
mov edx, dword [esp + 0x20]
xor eax, eax
test edx, edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x38], 0x25
mov eax, 1
jle 0x41233d
mov word [esp + 0x3a], 0x2a
mov eax, 2
test ebx, ebx
jl 0x412355
mov word [esp + eax*2 + 0x38], 0x2e
add eax, 1
mov word [esp + eax*2 + 0x38], 0x2a
add eax, 1
test edx, edx
mov word [esp + eax*2 + 0x38], cx
jle 0x4123c2
cmp edx, 0xff
mov eax, edx
jle 0x41236d
mov eax, 0xff
mov ecx, dword [edi + ebp*4]
fld qword [ecx]
sub edx, eax
sub esp, 8
test ebx, ebx
fstp qword [esp]
mov dword [esp + 0x28], edx
lea edx, [esp + 0x40]
mov esi, 0x100
lea edi, [esp + 0xb0]
jl 0x4123a8
push ebx
push eax
push edx
call fcn.004117c0
mov edx, edi
add esp, 0x14
mov dword [esp + 0x24], edx
jmp case.default.0x411ebc
push eax
push edx
call fcn.004117c0
lea edx, [esp + 0xb8]
add esp, 0x10
mov dword [esp + 0x24], edx
jmp case.default.0x411ebc
sub esp, 8
test ebx, ebx
mov esi, 0x100
jl 0x4123f6
mov eax, dword [edi + ebp*4]
fld qword [eax]
lea ecx, [esp + 0x40]
fstp qword [esp]
push ebx
push ecx
lea edi, [esp + 0xb8]
call fcn.004117c0
mov edx, edi
add esp, 0x10
mov dword [esp + 0x24], edx
jmp case.default.0x411ebc
mov edx, dword [edi + ebp*4]
fld qword [edx]
lea eax, [esp + 0x40]
fstp qword [esp]
push eax
lea edi, [esp + 0xb4]
call fcn.004117c0
mov edx, edi
add esp, 0xc
mov dword [esp + 0x24], edx
jmp case.default.0x411ebc
mov ecx, dword [edi + ebp*4]
fld qword [ecx]
sub esp, 8
fstp qword [esp]
push 0x43aaa8
mov esi, 0x100
lea edi, [esp + 0x2b4]
call fcn.004117c0
add esp, 0xc
push esi
lea edx, [esp + 0xac]
push edx
push 0
mov eax, edi
push eax
push 0
push 0x400
call dword [sym.imp.KERNEL32.dll_GetCurrencyFormatW]
test eax, eax
jne case.0x4122ef.37
lea edx, [esp + 0xa8]
mov word [esp + 0xa8], ax
mov dword [esp + 0x24], edx
jmp case.default.0x411ebc
mov ecx, dword [edi + ebp*4]
fld qword [ecx]
sub esp, 8
fstp qword [esp]
push 0x43aaa8
mov esi, 0x100
lea edi, [esp + 0x2b4]
call fcn.004117c0
xor edi, edi
add esp, 0xc
cmp ebx, edi
jl 0x4124dd
lea edx, [esp + 0x94]
push edx
lea ecx, [esp + 0x84]
mov eax, ebx
lea esi, [esp + 0x3c]
call fcn.00411bf0
add esp, 4
push 0x100
lea eax, [esp + 0xac]
push eax
mov ecx, esi
push ecx
lea edx, [esp + 0x2b4]
push edx
jmp 0x4124f3
push 0x100
lea eax, [esp + 0xac]
push eax
push edi
lea ecx, [esp + 0x2b4]
push ecx
push edi
push 0x400
call dword [sym.imp.KERNEL32.dll_GetNumberFormatW]
cmp eax, edi
jne case.0x4122ef.37
mov word [esp + 0xa8], di
lea edx, [esp + 0xa8]
mov dword [esp + 0x24], edx
jmp case.default.0x411ebc
cmp esi, edx
je 0x412557
cmp word [esi], 0x2a
jne 0x412549
add esi, 2
push esi
call dword [sym.imp.MSVCR80.dll__wtol]
mov eax, dword [edi + eax*4]
mov ecx, dword [eax]
mov edx, dword [edi + ebp*4]
mov eax, dword [edx]
mov dword [esp + 0x34], ecx
add esp, 4
mov dword [esp + 0x2c], eax
jmp case.default.0x411ebc
push esi
call dword [sym.imp.MSVCR80.dll__wtol]
mov dword [esp + 0x34], eax
add esp, 4
mov edx, dword [edi + ebp*4]
mov eax, dword [edx]
mov dword [esp + 0x2c], eax
jmp case.default.0x411ebc
mov ecx, dword [ecx]
mov dword [esp + 0x24], ecx
jmp case.default.0x411ebc
cmp esi, edx
jne 0x412579
mov esi, 0x43aa84
movzx edi, word [esi]
movzx eax, word [esi + 2]
mov ecx, dword [ecx]
add esi, 2
cmp ax, 0x6c
jne 0x4125a3
lea edx, [esp + 0x68]
push edx
push ecx
xor ebx, ebx
push ebx
add esi, 2
call dword [sym.imp.KERNEL32.dll_SystemTimeToTzSpecificLocalTime]
lea ecx, [esp + 0x68]
jmp 0x4125de
cmp ax, 0x66
jne 0x4125dc
lea eax, [esp + 0x78]
push eax
push ecx
add esi, 2
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
lea ecx, [esp + 0x60]
push ecx
lea edx, [esp + 0x7c]
push edx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x64]
push ecx
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
lea ecx, [esp + 0x68]
xor ebx, ebx
movzx eax, di
add eax, 0xffffffbc
cmp eax, 0x30
ja case.0x4125f4.69
movzx edx, byte [eax + 0x412b30]
jmp dword [edx*4 + 0x412b1c]
movzx eax, word [esi]
push 0x100
lea edx, [esp + 0xac]
push edx
mov dx, ax
neg dx
sbb edx, edx
and edx, esi
push edx
push ecx
xor ecx, ecx
cmp ax, bx
sete cl
push ecx
push 0x400
call dword [sym.imp.KERNEL32.dll_GetDateFormatW]
jmp 0x4126b4
movzx eax, word [esi]
push 0x100
lea edx, [esp + 0xac]
push edx
mov dx, ax
neg dx
sbb edx, edx
and edx, esi
neg ax
push edx
push ecx
sbb eax, eax
and eax, 0xfffffffe
add eax, 2
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetDateFormatW]
jmp 0x4126b4
movzx eax, word [esi]
push 0x100
lea edx, [esp + 0xac]
push edx
mov dx, ax
neg dx
sbb edx, edx
and edx, esi
neg ax
push edx
push ecx
sbb eax, eax
and eax, 0xfffffffe
add eax, 2
push eax
jmp 0x4126a9
mov dx, word [esi]
neg dx
push 0x100
lea eax, [esp + 0xac]
push eax
sbb edx, edx
and edx, esi
push edx
push ecx
push ebx
push 0x400
call dword [sym.imp.KERNEL32.dll_GetTimeFormatW]
test eax, eax
jne case.0x4125f4.69
mov word [esp + 0xa8], bx
lea eax, [esp + 0xa8]
mov dword [esp + 0x24], eax
xor esi, esi
cmp dword [esp + 0x2c], esi
je 0x4126ff
mov esi, dword [esp + 0x2c]
mov eax, esi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4126e0
push 0
push 0
sub eax, edx
push eax
push esi
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov esi, eax
jmp 0x41271f
mov eax, dword [esp + 0x24]
test eax, eax
je 0x41271f
mov esi, eax
lea ecx, [esi + 2]
lea esp, [esp]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x412710
sub esi, ecx
sar esi, 1
mov ebp, dword [esp + 0x6b4]
test ebp, ebp
je 0x41276a
mov eax, dword [esp + 0x20]
cdq
xor eax, edx
sub eax, edx
cmp eax, esi
jge 0x412739
mov eax, esi
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
add eax, ebx
cmp eax, edi
jl 0x412772
lea edi, [eax + 4]
lea eax, [edi + edi]
mov ecx, ebp
mov edx, dword [ecx]
mov edx, dword [edx]
push eax
mov eax, dword [esp + 0x6b4]
push eax
call edx
test al, al
je 0x411d1e
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
cmp ecx, esi
jle 0x4127b5
xor edx, edx
test ebp, ebp
sete dl
sub ecx, esi
mov eax, edi
add ecx, ebx
sub eax, edx
cmp eax, ecx
jle 0x41278f
mov eax, ecx
cmp ebx, eax
jge 0x4127b5
mov ecx, dword [esp + 0x6b0]
lea ebx, [ebx]
mov edx, dword [ecx]
mov word [edx + ebx*2], 0x20
add ebx, 1
cmp ebx, eax
jl 0x4127a0
mov dword [esp + 0x14], ebx
jmp 0x4127bc
mov ecx, dword [esp + 0x6b0]
test esi, esi
jle 0x412824
cmp dword [esp + 0x24], 0
je 0x4127ee
test ebp, ebp
jne 0x4127d5
sub edi, ebx
cmp esi, edi
jge 0x4129b3
mov edx, dword [esp + 0x24]
lea eax, [esi + esi]
push eax
mov eax, dword [ecx]
push edx
lea ecx, [eax + ebx*2]
push ecx
call sub.MSVCR80.dll_memcpy
add esp, 0xc
jmp 0x41281e
cmp dword [esp + 0x2c], 0
je 0x412824
test ebp, ebp
jne 0x412805
mov edx, edi
sub edx, ebx
cmp esi, edx
jge 0x4129e3
mov ecx, dword [ecx]
mov edx, dword [esp + 0x30]
lea eax, [esi + 1]
push eax
lea eax, [ecx + ebx*2]
mov ecx, dword [esp + 0x30]
call fcn.004117f0
add esp, 4
add ebx, esi
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x20], 0
jge 0x412963
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
xor edx, edx
neg ecx
cmp dword [esp + 0x6b4], edx
sete dl
sub ecx, esi
sub eax, edx
mov edx, dword [esp + 0x14]
add ecx, edx
cmp eax, ecx
jle 0x412855
mov eax, ecx
cmp edx, eax
jge 0x412963
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x6b0]
jmp 0x412870
mov esi, dword [edx]
mov word [esi + ecx*2], 0x20
add ecx, 1
cmp ecx, eax
jl 0x412870
mov dword [esp + 0x14], ecx
jmp 0x412963
cmp ax, 0x7d
jne 0x4128a3
movzx eax, word [ebp + 2]
add ebp, 2
cmp ax, 0x7d
mov dword [esp + 0x34], ebp
jne 0x412963
cmp ax, 0xd800
jb 0x41290a
cmp ax, 0xdbff
ja 0x41290a
test ecx, ecx
jne 0x4128cd
add ebx, 0xfffffffd
cmp esi, ebx
jle 0x4128ee
mov eax, dword [edi]
mov word [eax + esi*2], cx
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x69c
ret
lea eax, [ebx - 2]
cmp esi, eax
jle 0x4128ee
mov edx, dword [ecx]
mov edx, dword [edx]
add ebx, 4
lea eax, [ebx + ebx]
push eax
push edi
mov dword [esp + 0x24], ebx
call edx
test al, al
je 0x411d1e
mov eax, dword [edi]
mov cx, word [ebp]
mov word [eax + esi*2], cx
mov edx, dword [edi]
mov ax, word [ebp + 2]
add esi, 1
add ebp, 2
mov word [edx + esi*2], ax
jmp 0x412955
test ecx, ecx
jne 0x41292a
add ebx, 0xfffffffe
cmp esi, ebx
jle 0x41294b
mov ecx, dword [edi]
mov word [ecx + esi*2], 0
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x69c
ret
lea edx, [ebx - 1]
cmp esi, edx
jle 0x41294b
mov eax, dword [ecx]
mov eax, dword [eax]
add ebx, 4
lea edx, [ebx + ebx]
push edx
push edi
mov dword [esp + 0x24], ebx
call eax
test al, al
je 0x411d1e
mov ecx, dword [edi]
mov dx, word [ebp]
mov word [ecx + esi*2], dx
add esi, 1
add ebp, 2
mov dword [esp + 0x34], ebp
mov dword [esp + 0x14], esi
mov ebp, dword [esp + 0x34]
cmp word [ebp], 0
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
jne 0x411d90
cmp esi, ebx
jne 0x412a0b
cmp dword [esp + 0x6b4], 0
je 0x412a08
mov ecx, dword [esp + 0x6b4]
mov edx, dword [ecx]
mov edx, dword [edx]
lea eax, [ebx + ebx + 2]
push eax
mov eax, dword [esp + 0x6b4]
push eax
call edx
test al, al
je 0x411d1e
add ebx, 1
jmp 0x412a0b
mov ecx, dword [esp + 0x6b0]
mov esi, dword [esp + 0x14]
mov edx, dword [ecx]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
lea ecx, [edx + esi*2]
sub eax, esi
push ecx
call fcn.004118b0
add esp, 4
add eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x69c
ret
mov edx, dword [ecx]
mov ecx, dword [esp + 0x2c]
sub edi, ebx
lea eax, [edx + ebx*2]
mov edx, dword [esp + 0x30]
push edi
call fcn.004117f0
add esp, 4
add eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x69c
ret
sub esi, 1
mov eax, dword [esp + 0x6b0]
mov ecx, dword [eax]
lea edx, [esi + 1]
cmp ebx, edx
mov word [ecx + esi*2], 0
jle 0x412a40
mov ecx, dword [esp + 0x6b4]
test ecx, ecx
je 0x412a40
mov edx, dword [ecx]
lea edi, [esi + esi + 2]
push edi
push eax
mov eax, dword [edx]
call eax
test al, al
je 0x411d1e
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x69c
ret